加载中...

linux文件上传至百度网盘备份

一、摘要说明

1.工具:百度网盘的python客户端--bypy

2.下载方式:通过pip下载

3.实现方案:安装pip-->安装bypy-->百度网盘授权-->测试验证-->扩展

4.注意事项:使用bypy工具绑定后,由于百度PCS API权限限制,程序只能存取百度云端/apps(我的应用数据)/bypy目录下面的文件和目录。

5.命令解释:

bypy info		#空间使用信息,首次查看会出现一个授权网址,打开后登陆百度网盘,复制粘贴授权码,即可绑定此账号的百度网盘

bypy list    	#目录信息

bypy upload     #例如我们可以备份上传/test目录下的所有文件,把本地当前目录下的文件同步到百度云盘,要注意切换到你想要上传的目录在执行这个命令,登录到网盘上,可以看到所有文件已经上传

bypy downfile   #下载百度网盘的单个文件

bypy downdir	#把云盘上的内容同步到本地

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

二、正文

服务器信息

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

查看python及pip状态(有高版本尽量使用高版本)

[root@localhost ~]# python
python                                        python3                                       python-argcomplete-check-easy-install-script
python2                                       python3.6                                     python-argcomplete-tcsh
python2.7                                     python3.6m
[root@localhost ~]# pip
pip      pip3     pip-3    pip-3.6  pip3.6

安装bypy

[root@localhost ~]# pip3 install bypy
[root@localhost ~]# pip3 install requests
#出现Successfully 表示安装成功
#出现 already satisfied表示已经安装过

授权

[root@localhost ~]# bypy info
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_id=q8WE4EpCsau1oS0MplgMKNBn&response_type=code&redirect_uri=oob&scope=basic+netdisk
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done

浏览器打开https://openapi.baidu.com/oauth/2.0/authorize?client_id=q8WE4EpCsau1oS0MplgMKNBn&response_type=code&redirect_uri=oob&scope=basic+netdisk

登录百度网盘会看到授权码,

复制后粘贴,认证成功后会出现百度网盘的空间使用信息

进入需要上传文件的目录

[root@localhost ~]# cd test/
[root@localhost test]# ls
22.txt  TDengine-server-3.0.4.1-Linux-x64.rpm

上传

[root@localhost test]# bypy upload 22.txt
[root@localhost test]# bypy upload TDengine-server-3.0.4.1-Linux-x64.rpm
[root@localhost test]# bypy list
/apps/bypy ($t $f $s $m $d):
F 22.txt 3 2023-09-27, 08:39:00 628aab19am6eb080a401a6d1a68a6f80
F TDengine-server-3.0.4.1-Linux-x64.rpm 54337532 2023-09-26, 17:18:46 e3f292c81hccb01cf521a26590fc222a

客户端查看

修改文件后上传,可以直接覆盖相同文件

[root@localhost test]# echo 3333333333 > 22.txt
[root@localhost test]# bypy
bypy     bypygui
[root@localhost test]# bypy upload 22.txt
[root@localhost test]# bypy list
/apps/bypy ($t $f $s $m $d):
F 22.txt 11 2023-09-27, 10:50:23 49c2c7030j2f468c9b8a345801d3bcf0
F TDengine-server-3.0.4.1-Linux-x64.rpm 54337532 2023-09-26, 17:18:46 e3f292c81hccb01cf521a26590fc222a

换个文件夹下载查看最新的22.txt文件,说明已经覆盖

[root@localhost test]# cd ..
[root@localhost ~]# bypy downfile 22.txt
<I> [10:51:13] 22.txt <- /apps/bypy/22.txt
[====================] 100% (11.0B/11.0B) ETA:  (19B/s,  gone) 
[root@localhost ~]# cat 22.txt
3333333333

客户端查看,也是最新的文件

三、更换百度网盘

百度网盘端解绑
登录百度网盘站好关联界面解除关联:https://passport.baidu.com/accountbind?tpl=

linux服务器客户端解绑
百度网盘解绑后只是单方面的解绑,还需要在linux端解绑,
关联的token存储在~/.bypy/bypy.json中,只需要删除这个文件就可以了。

[root@localhost test]# ll  ~/.bypy/bypy.json
-rw------- 1 root root 311 9月  27 14:09 /root/.bypy/bypy.json
[root@localhost test]# rm -f  ~/.bypy/bypy.json

重新绑定的话重复之前的操作就可以了

[root@localhost test]# bypy info
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_id=q8WE4EpCsau1oS0MplgMKNBn&response_type=code&redirect_uri=oob&scope=basic+netdisk
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done
4ff25476a0f0580f8b94eb31440e02ac
Authorizing, please be patient, it may take upto 300 seconds...
<E> [14:09:41] Waiting 10 seconds before retrying...

<E> [14:09:51] Request Try #2 / 5
Quota: 405.000GB
Used: 120.113GB

四、扩展

1.可以使用crontab计划任务进行实时备份;

2.或者使用编辑上传脚本,在本地生成文件的时候自动上传至百度网盘备份

posted @ 2023-09-27 11:14  沾沾自喜的混子  阅读(1167)  评论(0编辑  收藏  举报