**
由于
1.百度网盘关闭了个人api的申请
2. 这个项目作者停止开发
3. 现在经常会出现bug
所以已经不推荐使用了
**
☆ 服务器代码定期同步到百度网盘 - 问题描述
代码的备份是一个重要的事情,可能经常会换服务器,也可能服务器会崩溃。这里教如何将代码同步到百度网盘。当然,只能同步到百度网盘指定的apps目录下
★ 解决方案
step1. 安装bypy库
-
首先要确保服务器有python运行环境的情况,我使用的是miniconda虚拟环境
-
安装bypy pip install bypy (github: https://github.com/houtianze/bypy) 并确定bypy安装成功
-
找到bypy的命令目录,我使用的是ubuntu,并且在conda虚拟环境下安装,因此我的目录是/root/miniconda3/bin/pyby
也可以使用which命令查看
step2. 登录百度网盘账号
使用bypy info命令,根据提示登录
bypy info
step3. 在某个目录下新建shell脚本
#!/bin/bash
. /etc/profile
source ~/.bash_profile
. /usr/bin
# backtar=`date '+%Y%m%d%H%M%S'` # //名称为当前时间年月日时分秒
# zip -r /backup/${backtar}.zip /code/test.py #//压缩某个路径下的文件,以空格隔开,可以添加多个
#/root/miniconda3/bin/bypy upload /backup/${backtar}.zip # //上传的压缩文件
/root/miniconda3/bin/bypy syncup /code # 同步/code文件夹,upload命令也是一样的
# find /backup -mtime +7 |grep .zip | xargs rm -f//删除7天前生成的压缩包
可以使用小文件尝试一下脚本是否可以正常使用
step4. 安装并配置crontab,实现每天指定时间同步
注意 ,crontab不会自动识别环境变量,所以需要在上一步的shell脚本中把所有的命令定义成绝对路径,并且需要导入环境变量
- apt-get install crontab
- crontab -e 进入配置
这里的0 2 * * * … 表示每天的2:00am执行sh脚本文件
- 启动crontab
service cron restart 【我的是ubuntu】
✅ 总结
- 注意shell文件中要定义环境变量和使用绝对路径
- 要记得先用小文件尝试