wiki:linux:auto-backup-use-jianguoyun
目录
使用坚果云定时备份文件内容
准备
- 坚果云账号,免费版即可
坚果云配置
在 右上角用户名 - 【账户信息】-【安全选项】-【第三方应用】添加一个应用
输入名称,如 davauto,点击【生成密码】
记住该密码(下文称为 第三方应用密码)
Cadaver 命令行操作坚果云数据
安装 Cadaver
apt-get install cadaver
连接到坚果云
cadaver https://dav.jianguoyun.com/dav/
手动登陆坚果云
根据提示输入 坚果云账户 和刚才创建的 第三方应用密码,进入交互模式。
Authentication required for nutstore on server `dav.jianguoyun.com': Username: xxx@gmail.com Password: dav:/dav/>
自动登陆坚果云
在当前用户的 home 目录创建 .netrc 文件,内容如下:
machine dav.jianguoyun.com login xxx@gmail.com # 坚果云账户 password xxxxxx # 第三方应用密码
此时,再执行 cadaver https://dav.jianguoyun.com/dav/ 命令就不用输入账户密码。
坚果云的文件操作
支持的命令可在登陆坚果云后,输入 help 查看:
dav:/dav/> help Available commands: ls cd pwd put get mget mput edit less mkcol cat delete rmcol copy move lock unlock discover steal showlocks version checkin checkout uncheckout history label propnames chexec propget propdel propset search set open close echo quit unset lcd lls lpwd logout help describe about Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye
示例1:进入backup目录,上传hello.txt:
dav:/dav/> cd backup dav:/dav/backup/> put hello.txt
示例2:进入backup目录,下载hello.txt
dav:/dav/> cd backup dav:/dav/backup/> get hello.txt
将会从坚果云下载文件到当前目录
使用脚本执行文件操作,便于以后自动执行命令。如,创建脚本 hello.sh 如下:
- hello.sh
put word.txt bye
假设操作的目录为 backup,执行下面命令以执行 hello.sh 脚本:
cadaver https://dav.jianguoyun.com/dav/backup/ < davbak dav:/dav/backup/> put word.txt Uploading word.txt to `/dav/backup/word.txt': succeeded. dav:/dav/backup/> bye Connection to `dav.jianguoyun.com' closed.
使用脚本定时从坚果云备份或恢复文件
备份数据的脚本
在 /opt/cron/ 目录下创建脚本(目录可按需指定),操作内容为
- 复制网站内容到备份目录
- 清理目录下不需要的文件
- 打包
- 将打包好的文件上传到坚果云
脚本命名为 auto_colinol.com.backup.sh ,具体内容如下:
- auto_colinol.com.backuo.sh
#!/bin/bash date=`date +%y%m%d` site='colinol.com' backpath=${site} tarfilename=${site}.tar.gz tarfilenamecp=${site}-${date}.tar.gz cp -a /var/www/${site}/ ${backpath} rm -f -r ${backpath}/.git rm -f -r ${backpath}/.well-known rm -f -r ${backpath}/data/cache rm -f -r ${backpath}/data/tmp tar zcf ${tarfilename} ${backpath} cadaver https://dav.jianguoyun.com/dav/backup/colinol.com/ <<E put ${tarfilename} rm ${tarfilenamecp} cp ${tarfilename} ${tarfilenamecp} E rm -f -r ${backpath} rm ${tarfilename}
恢复数据的脚本
在 /opt/corn/ 目录下创建脚本(目录可以按需指定),操作内容为
- 下载坚果云的最新打包数据到本地
- 解压打包数据
- 其他必要操作
脚本命名为 loadbackupsite.sh ,具体内容如下:
- loadbackupsite.sh
#!/bin/bash #date >> /opt/cron/log/backsitebegin.log site='colinol.com' tarfilename=${site}.tar.gz cadaver https://dav.jianguoyun.com/dav/backup/colinol.com/ <<E get ${tarfilename} E tar -zxvf ${tarfilename} rm ${tarfilename} cursitepath=/var/www/html rm -f -r ${cursitepath} mv ${site} ${cursitepath} mkdir ${cursitepath}/data/cache mkdir ${cursitepath}/data/tmp chmod -R 777 ${cursitepath}/data/ chmod -R 777 ${cursitepath}/lib/ chmod -R 777 ${cursitepath}/conf/ #date >> /opt/cron/log/backsiteend.log
设置定时处理程序:Corntab
wiki/linux/auto-backup-use-jianguoyun.txt · 最后更改: 2023/01/03 15:25 由 127.0.0.1
评论