文档章节

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

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

一、关于 

        有时候我们需要进行数据备份,如果能自动将数据备份到百度网盘,那将会非常方便。百度网盘有较大的存储空间,而且不怕数据丢失,安全可靠。下面简单的总结一下如何使用 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
武汉
程序员
打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

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

jxyk2007
2013/12/07
0
0
一键式搭建私人网络硬盘、个人网盘,百度网盘——owncloud安装指南

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

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

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

联想云
08/31
0
0
Rsync+Sersync实时同步(大文件大数量同步)

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

hbgslz
06/26
0
0
2014年度企业云存储盘点

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

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

没有更多内容

加载失败,请刷新页面

加载更多

docker-compose ,docker-stack

1.例子 version: "3"services: php: image: registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5 ports: - "38080:80" networks: - my_php_mysql volum......

chenbaojun
27分钟前
1
0
SQL_Server2000示例数据库NorthWind的分析(转)

SQL_Server2000示例数据库NorthWind的分析 表名:Categories(食品类别表) 表结构: 字段名称 数据类型 长度 允许为空 CategoryID(主键) int 4 否 CategoryName nvarchar 15 否 Description ...

QQZZFT
30分钟前
1
0
laravel 5.5 Session store not set on request.

laravel 5.5 数据存入session,会出现Session store not set on request.错误。查了下laravel 5.5将session放到global middleware中,需要laravel的文件 ./app/Http/Kernel.php中的加上一句:...

MichaelShu
今天
1
0
OpenCV VideoCapture.get()参数详解

param define cv2.VideoCapture.get(0) 视频文件的当前位置(播放)以毫秒为单位 cv2.VideoCapture.get(1) 基于以0开始的被捕获或解码的帧索引 cv2.VideoCapture.get(2) 视频文件的相对位置(...

NateHuang
今天
0
0
java基础知识,小栗子

来操作一下数组.....注意带参数的变长数组的使用. package com.avatus;import java.util.Random;import java.util.Scanner;public class Main { public static void main(St...

Oh_really
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部