linux实现定时备份文件到百度网盘详细教程 | 您所在的位置:网站首页 › 百度网盘备份到云端 › linux实现定时备份文件到百度网盘详细教程 |
Centos7+python2.7.5下利用crontab+bypy实现自动备份数据到百度网盘。笔者在制作过程中使用的是Xshell7软件连接linux服务器,当然你也可以使用宝塔面板上的终端来进行相关命令的操作,不过宝塔面板上的终端在输入一些命令时更容易出现问题,有时也有一定的局限性,比如点击宝塔其他页面之后终端上输入的命令将被清屏,有时连接失败后也会被清屏,不方便查看之前的命令执行结果。 (3)查看配置信息成功连接linux服务器后可以使用如下命令查看自己的环境配置信息: 1.查看centos版本信息 cat /etc/redhat-release2.查看linux版本 cat /proc/version3.查看python版本 查看系统是否有python环境(一般系统自带python2.7),此命令查看过后用Ctrl-D退出或输入quit()退出。 python 二、执行流程 (1)安装pip进入到服务器对应的项目文件根目录下,可以使用cd命令 #使用cd命令进入到项目根目录中 [root@iZ85173om7p5tdZ ~]# cd /www/wwwroot/zx.wiyp.top sudo yum -y install epel-release #这是安装pip是要用到的东西 sudo yum -y install python-pip sudo yum clean all sudo pip install --upgrade pip #更新 #如果无法更新可以使用命令:sudo python -m pip install --upgrade pip依次执行上面的代码,执行效果如下: 这里在执行更新语句时出现了报错,无法更新时改命令用:sudo python -m pip install --upgrade pip,改用此命令时还是出现了一个错误:更新pip包时报错( “Python‘ setup.py egg_info“ failed with error code 1)记录。 此时尝试使用如下命令,发现还是不行,依然报错 1. pip install --upgrade setuptools 2.pip install ez_setup 这种情况可能是因为版本升级跨度较大,低级版本无法直接升级到高级版本,可尝试先升级到20.2.4,再尝试升级到20.3.4,此时问题就解决了。最后在进行一下更新操作。 python -m pip install --user --upgrade pip==20.2.4 python -m pip install --user --upgrade pip==20.3.4 执行结果如下:出现succcess···表示成功。 执行bypy info并访问方框内的连接 授权完成后可查看相关信息,由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录。 bypy info #空间使用信息 bypy list #目录信息 bypy upload 例如我们可以备份上传/test目录下的所有文件,把本地当前目录下的文件同步到百度云盘,要注意切换到你想要上传的目录在执行这个命令,登录到网盘上,可以看到所有文件已经上传 bypy downdir #把云盘上的内容同步到本地 bypy compare #比较本地当前目录和云盘根目录,看是否一致,来判断是否同步成功: (5)创建目录和脚本文件 1.创建目录: [root@iZ85173om7p5tdZ ~]# mkdir -p /backup/ [root@iZ85173om7p5tdZ ~]# cd /backup/ [root@iZ85173om7p5tdZ backup]# touch backup_to_baidu.sh #创建脚本文件 [root@iZ85173om7p5tdZ backup]# vim backup_to_baidu.sh #进入脚本文件进行编辑 2.创建脚本文件代码如下(书写代码要规范):bypy 无法同时上传多个文件,百度云不支持上传文件夹,可以通过压缩的方式解决 #!/bin/sh . /etc/profile . ~/.bash_profile backtar=`date '+%Y%m%d%H%M%S'` //名称为当前时间年月日时分秒 zip -r /backup/${backtar}.zip /www/wwwroot/zx.wiyp.top/public/assets/img/logo.png//上传某个路径下的文件,以空格隔开,可以添加多个 /usr/bin/bypy upload /backup/${backtar}.zip//上传的压缩文件 find /backup -mtime +7 |grep .zip | xargs rm -f//删除7天前生成的压缩包需要用到的vim编辑器的命令:qa-切换模式,Esc+:wq+回车-保存退出,esc+shift_zz-保存退出 3.如果遇到脚本无法执行可以进行如图操作,参考菜鸟教程crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。每个用户可以拥有自己的crontab文件。同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc目录中。 crontab配置文件位于“/etc/crontab”,打开配置文件,可以看到相关配置信息。 用法:* * * * *command。前面5个*代表执行命令时间,后面的command代表要执行的命令。该命令可以使一个普通的命令、shell脚本、python脚本、java的jar包等。 3.使用流程使用命令打开自动执行指令编辑脚本 crontab -e脚本内容如下:我这里设置的是10:50进行执行上面创建的shell脚本backup_to_baidu.sh,具体时间设置可以参考菜鸟教程。 完成后保存退出并重启服务,这样系统将会每天定时执行数据备份的脚本 systemctl restart crond # 重启crond服务补充:crontab相关的其他命令 crontab -r #删除任务 crontab -l #查看任务 三、百度网盘中的效果以上过程是笔者在使用时出现的问题,如有什么问题欢迎指正。 |
CopyRight 2018-2019 实验室设备网 版权所有 |