本文主要的目的就是在Linux环境下通过命令行来使用百度云盘,直接在服务器上打包压缩备份将数据传输到百度网盘,之后可以进行轻松分享,而且还可以支持备份,解决文件的传输和分享难题
插件介绍
- bypy是一个Python客户端,用于操作百度网盘提供了丰富的命令行操作。该工具能够直接在Linux服务器上进行大文件的传输,支持多线程操作,本文将介绍如何使用bypy进行百度云的上传下载同步等操作
安装部署
- 安装命令
#请注意安装的前提需要安装Python 2.7.5以上
#CentOS
sudo yum install python3-pip
sudo pip3 install bypy
#Ubuntu
sudo apt-get install python3-pip
sudo apt-pip3 install bypy
登录配置授权
- 执行命令之后会出现登录的网址,复制粘贴到浏览器中登录并同意授权,然后把授权码粘贴在shell终端完整授权
#执行命令登录百度云授权
bypy info
#查询目录信息
bypy list
#授权完成后可查看相关信息,由于百度PC API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录
备份上传数据
#上传文件
./bypy upload /path/to/local/file /remote/path
#下载文件
bypy download /remote/path /path/to/local/file
#同步文件
bypy syncup /local/path /remote/path
bypy syncdown /remote/path /local/path
#按照日期压缩指定文件夹并移动到指定备份上传的文件夹
tar -czvf halo-$(date +%Y-%m-%d_%H-%M-%S).tar.gz /home/halo && mv *.tar.gz /home/backup
#上传指定备份的文件夹内文件至百度云盘/apps>bypy>halo
/usr/local/bin/bypy upload /home/backup/ /halo
#请注意命令是示意请根据自己的实际需求进行修改
命令详解
-
bypy提供了多种操作命令
- `quota`:显示百度云存储配额信息
- `list`:列出指定目录下的文件列表
- `upload`:上传本地文件到百度云
- `download`:从百度云下载文件到本地
- `syncup`:将本地文件同步到百度云
- `syncdown`:将百度云文件同步到本地
- `delete`:删除百度云上的文件
- `makedir`:在百度云上创建目录
- `move`:移动百度云上的文件
- `copy`:复制百度云上的文件
- `compare`:比较本地和云文件的差异
- `-h`,`--help`:显示帮助信息
- `-V`,`--version`:显示版本信息
- `-d`,`--debug`:设置调试级别
- `-v`,`--verbose`:设置详细程度
- `-r`,`--retry`:网络错误时重试的次数
- `-q`,`--quit-when-fail`:最大重试次数失败时退出
- `-t`,`--timeout`:网络超时时间(秒)
- `-s`,`--slice`:文件上传切片大小
- `--chunk`:文件下载块大小
- `-e`,`--verify`:验证上传/下载
- `-f`,`--force-hash`:强制文件MD5/CRC32计算而不使用缓存值
- `--no-resume-download`:如果本地文件已经存在,则恢复而不是重新开始下载
- `--include-regex`:要包括的文件的正则表达式。
- `--on-dup`:在目标中存在相同的文件/文件夹时要执行的操作
- `--no-symlink`:上传/同步时不要跟随符号链接
- `--disable-ssl-check`:不要验证主机SSL证书
- `--cacerts`:指定CA Bundle的路径
- `--mirror`:指定PCS镜像
- `--select-fastest-mirror`:让程序运行一些测试并选择它检测到的最快的PCS镜像
- `--rapid-upload-only`:仅上传可以快速上传的大文件
- `--resume-download-revert-back`:恢复下载时至少回退RCOUNT下载块并对齐到块边界。负值表示不回退。
- `--move`:在下载/上传/syncdown/syncup成功后删除源文件/目录(这将强制验证文件)
- `--processes`:并行进程数。 (仅适用于目录同步/下载/上传)
- `--downloader`:要使用的下载程序(如果未指定,则使用Python)
- `--downloader-arguments`:下载程序的参数
- `--config-dir`:指定配置路径
- `-c`,`--clean`:删除令牌文件(需要重新认证)和上传进度文件
总结
- bypy是一个非常强大的Python客户端,可以方便地操作百度云我觉得这个工具还是挺好用的,比如用百度云盘和其他人直接从Linux服务器上传文件,解决文件传输问题,比如设置定时crontab任务进行备份上传非常方便