文档章节

Centos7下利用crontab+bypy实现自动备份数据到百度网盘

zctzl
 zctzl
发布于 06/19 12:32
字数 1342
阅读 100
收藏 0

一、关于 

        有时候我们需要进行数据备份,如果能自动将数据备份到百度网盘,那将会非常方便。百度网盘有较大的存储空间,而且不怕数据丢失,安全可靠。下面简单的总结一下如何使用 bypy 实现百度网盘数据的同步。

        这是一个百度云的 Python 客户端,其主要目的和功能,就是为 Linux 使用者提供一种在命令行下,使用百度云盘中的存储空间的方法。它提供文件列表、下载、上传、比较、向上同步、向下同步,等操作。

二、环境配置

        环境:Centos7+python2.7.5

        查看系统是否有python环境(一般系统自带python2.7)

python

        安装pip、bypy

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 pip install bypy
sudo pip install requests

        如出现如下界面,则安装完成

三、授权登陆

        执行bypy info

bypy info

        访问方框内的连接

        登陆百度云账号

        获得授权码

        粘贴到终端上

    授权完成后可查看相关信息,由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录

bypy info     #空间使用信息
bypy list     #目录信息

四、使用bypy备份数据

        例如我们可以备份上传‘’/test"目录下的所有文件

        把本地当前目录下的文件同步到百度云盘:

bypy upload     #要注意切换到你想要上传的目录在执行这个命令

        登录到网盘上,可以看到所有文件已经上传

        把云盘上的内容同步到本地:

bypy downdir

        比较本地当前目录和云盘根目录,看是否一致,来判断是否同步成功:

bypy cmpare

        比较当前目录与云盘目录,结果如下

 

五、使用crontab实现定时自动数据备份

        crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。每个用户可以拥有自己的crontab文件。同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc目录中。

        用法:* * * * * command。前面5个*代表执行命令时间,后面的command代表要执行的命令。该命令可以使一个普通的命令、shell脚本、python脚本、java的jar包等

        创建shell脚本

        添加crontab任务

crontab -e

        输入一下内容,“* 3 * * *“表示每天凌晨3点,“/usr/bin/sh”是执行脚本命令的路径,后面的事要被执行的脚本的绝对路径(为避免环境问题,推荐命令带上路径)

        查看任务

crontab -l

        重启crond服务

sudo systemctl restart crond

        这样系统将会每天定时执行数据备份的脚本

        这里为了方便我们观察脚本真的被执行了,将数据备份的脚本替换为输出一句“hello!!!”

        使用“crontab  -e”命令将执行时间修改为每分钟(将前面改为:* * * * *),然后重启crond服务

        会看到一条“您在 /var/spool/mail/zctzl 中有邮件”的消息,使用tail命令查看其内容,可以看到输出的"hello!!!"

        crontab配置文件位于“/etc/crontab”,打开配置文件,可以看到相关配置信息

 

        如果crontab执行过程发生错误,可以在"/var/spool/mail/zctzl"(最后一个替换为自己的用户名)文件查看具体报错信息。

        如果该文件为空,可能是以下原因导致的:

                ①crontab任务没有执行:到"/var/log/"目录下,会找到一些以"cron"+"日期"命名的文件,里面记录了crontab的执行记录(没有细节或报错信息等),如果能找到对应的记录则说明crontab任务执行了。

                ②没有安装postfix服务:“/var/spool/mail/zctzl”里的信息是以邮件的服务发送的,需要确保安装postfix,可以使用"rpm -aq | grep postfix"查看是否安装postfix服务,如果没有安装使用"sudo yum -y install postfix"安装

                ③安装但没有开启postfix服务:使用"sudo systemctl start postfix"启动服务,设置开机自启"sudo systemctl enable postfix"。在实际启用postfix服务是遇到“postfix: fatal: parameter inet_interfaces: no local interface found for ::1”的报错信息,原来是配置文件的原因,需要修改配置文件"vim  /etc/postfix/main.cf",将"inet_interfaces = localhost"改为"inet_interfaces = all",然后再启动即可解决。

 

 

参考教程:https://blog.csdn.net/MENGHUANBEIKE/article/details/73852164

© 著作权归作者所有

共有 人打赏支持
zctzl
粉丝 5
博文 10
码字总数 13488
作品 0
武汉
程序员
私信 提问
一键式搭建私人网络硬盘、个人网盘,百度网盘——owncloud安装指南

一键式搭建私人网络硬盘、个人网盘,百度网盘——owncloud安装指南 在微软云计算上,我们可以创建VM虚拟机部署“owncloud”网络硬盘。 搭建一个owncloud个人网盘。使用owncloud不仅安全,而且...

iazure
05/28
0
0
打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源 一、下载安装bpcsuploader百度pcs上传脚本 1、bpcs_uploader作者官网: 1、项目页面:http://oott123.github.io/bpcs...

jxyk2007
2013/12/07
0
0
Rsync+Sersync实时同步(大文件大数量同步)

应用场景:横向扩展Web服务器或者是备份Web服务器相关目录下的数据文件,确保指定目录下的所有文件实时同步。 实验拓补图: 实验环境: 均关闭firewalld和selinux防火墙 操作系统:CentOS7 s...

hbgslz
06/26
0
0
联想企业网盘5.0重磅上线 拥抱“智能+安全”办公新模式

工业革命时代,蒸汽机催生了机器代替人类劳动;信息爆炸时代,电脑催生了企业数字化转型和生产力的大幅提升。时至今日,下一个解放劳动力,提升企业效率的关键技术革新已经出现,人工智能便是...

联想云
08/31
0
0
2014年度企业云存储盘点

亚马逊公司的S3和Nutanix公司提供的存储服务一样,可以低成本提供大量的文件存储。而供应商可以保持每个客户的存储、应用都是独立的,私有的。其中以Mobox为代表的个企业云存储发展较为突出的...

APM项目管理
2014/04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

用POLARDB构建客到智能餐饮系统实践

摘要: 在新零售成为大趋势的今天,餐饮行业也加入到这一浪潮之中。智能餐饮系统将帮助餐饮行业从多个维度提升自己的运营能力和收益,而打造智能餐饮系统SaaS化能力也成为了目前的一个热点。...

阿里云官方博客
16分钟前
0
0
aws S3 util demo

package com.example.demo;import com.amazonaws.AmazonClientException;import com.amazonaws.AmazonServiceException;import com.amazonaws.auth.BasicAWSCredentials;import co......

经常把天聊死的胖子
今天
4
0
linux下查看cpu、memo、io、swap性能数据脚本

直接贴脚本: 1、cpu #!/bin/bashCurrentDate=`date -d today '+%Y%m%d'`CurrentTime=`date -d today '+%Y%m%d%H%M'`mytext="$CurrentTime\t`top -b -n 1 | grep Cpu\(s\......

郑加威
今天
5
0
MySQL之——查询重复记录、删除重复记录方法大全

MySQL之——查询重复记录、删除重复记录方法大全

安小乐
今天
2
0
spring容器启动,停止,关闭事件监听-ApplicationEvent

ApplicationEvent ApplicationEvent相当于一个事件,所有自定义事件都需要继承这个抽象类。在Eclipse中Ctrl+Shift+H调用类的层次结构列表,可以看到如下 Application下抽象子类ApplicationCo...

tantexian
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部