Hey,吃完饭多陪陪家人吧!

百度云网盘备份:Linux VPS自动备份网站文件

   

百度云网盘可以免费扩容到2T这么大的容量,放着也用不完。刚好之前在github找到一个linux用的百度上传脚本,而且当网站的大小不断增大,直接下载到自己的电脑会非常非常的慢,所以就尝试使用这个百度上传脚本+自动备份脚本实现自动备份。但是又怕数据直接打包在百度云网盘没有加密有风险,就又修改了一下脚本。

下面先介绍百度上传脚本的安装及使用方法:

百度上传脚本名称:bpcs_uploader

项目地址:https://github.com/oott123/bpcs_uploader


登录你的VPS下载安装bpcs_uploader,系统要求是你的Linux已安装php和curl。

 
  1. wget https://github.com/oott123/bpcs_uploader/zipball/master  
  2. unzip master  
  3. mv oott123-bpcs_uploader-3a75324 bpcs #重命名  
  4. cd bpcs #进入目录  
  5. chmod +x bpcs_uploader.php #设置权限  
  6. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php #快速初始化  

PS:从github下载的代码解压包的名称可能会有变动,如果你发现第三步的重命名出错,你查看一下你下载下来的解压名称是什么再重新解压。

 

bpcs

按照提示输入“y”然后回车。

 

bpcs2

提示输入API,这里需要输入一个有PCS权限的API KEY,由于没有API直接按回车就行了(使用上图uFBSHEwWE6DD94SQx9z77vgG这个Key时),只能获取一个有效期为一个月的access token,每个月都要手动更新access token。

然后在自己的电脑打开http://openapi.baidu.com/device     

输入上图红色方框的验证码,按继续

bpcs3

 

按“授权”

bpcs4

bpcs5

然后回到vps的ssh按回车

bpcs6

 

命令:

快速初始化:

  1. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php quickinit  

查看网盘容量:

  1. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php quota  

上传文件:

  1. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php upload [path_local] [path_remote]  

例:

  1. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php upload /data/backup/risingsun_web.zip /risingsun/risingsun_web.zip  

下载文件:

  1. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php download [path_local] [path_remote]  

 

如果提示上传失败:

bpcs

打开下面的链接然后授权:

https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=L6g70tBRRIXLsY0Z3HwKqlRE&redirect_uri=oob&scope=netdisk

最后重新初始化即可:

  1. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php quickinit  

备份脚本:

由于网站数据直接打包上传到百度云网盘,万一网盘被盗那么数据就被别人拿走并可以直接使用(提醒大家最好将百度账号绑定好手机和邮箱,邮箱密码不要设置和百度账号一样,而且邮箱设置好安全问题。),我就想了想给数据加上密码。但是之前的备份脚本使用tar+gz打包压缩的,加密后的格式只能是des3,而windows系统下解密des3文件比较麻烦,从百度云上将数据下载下来难以解压,所以我就选用zip格式压缩数据。

经过我多次测试,zip压缩率大概是28%,gz压缩率大概是24%。

网站数据备份脚本:

 
  1. #!/bin/bash  
  2. #你要修改的地方从这里开始  
  3. MYSQL_USER=123                   #mysql用户名  
  4. MYSQL_PASS=abc                   #mysql密码  
  5. WEB_DATA=/data/wwwroot           #要备份的网站数据  
  6. PassWord=123456789               #压缩密码  
  7. #你要修改的地方从这里结束  
  8.   
  9. #定义数据库和网站名字  
  10. DataBakName=data_$(date +"%Y%m%d_%H_00").zip  
  11. WebBakName=web_$(date +%Y%m%d_%H_00).zip  
  12.   
  13. cd /data/backup  
  14. #导出数据库,一个数据库一个压缩文件  
  15. for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do  
  16.     (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 – > ${db}.sql.gz)  
  17. done  
  18. #压缩数据库文件为一个文件  
  19. zip –q -r -P $PassWord /data/backup/$DataBakName /data/backup/*.sql.gz  
  20. rm -rf /data/backup/*.sql.gz  
  21.   
  22. #压缩网站数据  
  23. zip –q -r -P $PassWord /data/backup/$WebBakName $WEB_DATA  
  24. cd /data/backup  
  25. mkdir $(date +"%Y%m%d_%H_00")  
  26. mv data_$(date +"%Y%m%d_%H_00").zip $(date +"%Y%m%d_%H_00")  
  27. mv web_$(date +%Y%m%d_%H_00).zip $(date +"%Y%m%d_%H_00")  
  28. echo "备份成功,文件夹为:/data/backup/$(date +"%Y%m%d_%H_00")"  
  29.   
  30. #上传到百度云  
  31. cd /root/bpcs  
  32. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php upload /data/backup/$(date +"%Y%m%d_%H_00")/data_$(date +"%Y%m%d_%H_00").zip /$(date +"%Y%m%d_%H_00")/data_$(date +"%Y%m%d_%H_00").zip  
  33.   
  34. php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php upload /data/backup/$(date +"%Y%m%d_%H_00")/web_$(date +%Y%m%d_%H_00).zip /$(date +"%Y%m%d_%H_00")/web_$(date +%Y%m%d_%H_00).zip  
  35. echo "上传成功!"  

将以上脚本修改为合适你的vps的配置,保存为autobackup.sh,然后上传至VPS的root目录下,并在/data目录下新建一个名为backup的文件夹。

然后给脚本权限,ssh下执行:

 
  1. chmod +x /root/autobackup.sh  

接下来测试脚本能否正常工作,执行:

  1. ./autobackup.sh  

如果能正常工作,再用cron实现每日自动运行这个脚本实现自动备份:

  1. crontab –e  

添加备份任务,执行:

  1. 00 01 * * * /root/autobackup.sh  

任务的运行时间可以自己设定,上面代码中的00 01,就是凌晨1点,尽量选择您网站访客最少的时间段,比如凌晨。

脚本下载:http://www.risingsun.cc/down/autobackup.sh

未经允许不得转载:Rising Sun's Blog » 建站 » 百度云网盘备份:Linux VPS自动备份网站文件
标签:
评论 0
 
 
发表评论