Ubuntu下使用bypy客户端备份数据到百度云盘

一、安装步骤

1.1、下载bypy客户端

1、通过sudo apt-get install python命令安装python
2、通过sudo apt-get install python-requests命令安装python-requests库
3、通过git clone https://github.com/houtianze/bypy命令将bypy客户端下载到本地

1.2、进行授权

第一次运行任意bypy命令会要求进行授权,复制提示中的链接可以得到一个授权码,复制输入授权码,在确认之后就能完成授权

1.3、使用bypy客户端执行备份命令

执行/home/dsl/bypy/bypy.py syncup . / true命令,进行备份。具体含义是:将当前目录下的所有内容备份到百度云盘的“apps/bypy”目录下,备份过程中采用增量更新的方式,而且百度云盘上多余的文件会被删除。可通过/home/dsl/bypy/bypy.py help命令来查看“syncup”命令的使用文档。注意,这里的“/home/dsl/bypy/bypy.py”表示bypy客户端被下载在“/home/dsl”目录下面

1.4、使用bypy客户端执行比较命令

执行/home/dsl/bypy/bypy.py compare / .命令,进行比较。具体含义是:比较百度云盘上“apps/bypy”目录下内容和本地当前目录下内容

二、安装过程中注意事项

2.1、百度云盘不区分大小写

由于百度云盘是跨平台的,因此不区分大小写。如果在本地有“web”和“Web”两个目录,“web”目录下有“1.txt”文件,“Web”目录下有“2.txt”文件,执行备份命令后,在百度云盘上只有“web”(或者“Web”)目录,其中的文件为“1.txt”和“2.txt”。

2.2、Python输出结果重定向到文件抛出异常

执行/home/dsl/bypy/bypy.py syncup . / true >> /home/dsl/bypy.out命令备份数据并将命令执行结果重定向到文件,得到如图1所示异常。这是python 2.x系列版本的bug,解决方案是将命令改为PYTHONIOENCODING=UTF-8 /home/dsl/bypy/bypy.py syncup . / true >> /home/dsl/bypy.out

图1
这里写图片描述

三、最终结果

可以建立一个Shell脚本,使得可以快速执行备份命令。Shell脚本内容如下:

#!/bin/bash 
cd /home/dsl/bigdisk/KuaiPan2
PYTHONIOENCODING=UTF-8 /home/dsl/bypy/bypy.py -v syncup . / true >> /home/dsl/bypy.out

进而可以配置“crontab”,使得可以定时执行备份命令。
备注:加上“-v”选项是为了方便查看命令执行进度。



参考文献:
[1]https://github.com/houtianze/bypy
[2]http://chase-seibert.github.io/blog/2014/01/12/python-unicode-console-output.html

你可能感兴趣的:(python,备份,数据,git,百度云)