自从bcloud项目停了以后,我好长时间没有再用过linux相关的百度云.直到换了archlinux以后,想试试这个命令行的下百度云.然后发现这东西官方给的例子真的太少了.这里记录一下整个过程.
安装
这个工具是基于python开发的.所以最简单的方式就是使用pip安装.由于我是新装的arch所以,我要先安装python-pip
.命令 sudo pacman -S python-pip
.之后sudo pip install bypy
就好了
初始化
工具安装完了,你需要有一个百度云的帐号,初始化以后会在云盘里面出现一个我的应用数据
这里面有一个bypy
的文件夹.这个就是你的工具的根目录,你要上传下载的文件都在这里面而不是其他的地方.
终端里面输入bypy
以后会出现的是bypy的英文帮助信息.这时候输入bypy info
,一定要看提示啊,要去访问中间出现的那个网址,获取baidu的api信息.看好了是不是你的帐号,不是的话切换一下帐号,然后把授权码 贴近去,回车,等待直到出现你网盘的容量信息.这时候info就添加完了,这个授权码只需要添加一次就好了.如果有错误或者换号了.可以删除~/.bypy/下面的3个文件,重新做一遍就好了.
使用
- 更详细的了解某一个命令:
bypy help <command>
- 显示在云盘(程序的)根目录下文件列表:
bypy list
- 把当前目录同步到云盘:
bypy syncup
或者bypy upload
- 把云盘内容同步到本地来:
bypy syncdown --downloader aria2
或者bypy downdir / --downloader aria2
这个命令不好用,要在后面加 --downloader aria2,要不没有速度 - 比较本地当前目录和云盘(程序的)根目录(个人认为非常有用):
bypy compare
- 下载文件
bypy downfile 下载文件名
- 上传文件
bypy upload 文件名
- 在远端创建文件夹tmp
bypy mkdir tmp/bypy
运行时添加\
-v
\ 参数,会显示进度详情。- 运行时添加\
-d
\ ,会显示一些调试信息。 运行时添加\
-ddd
\ ,还会会显示HTTP通讯信息(\ 警告:非常多\ )bypy upload localfile cloudfile
bypy upload ./123.txt /cloud
.将本地123.txt文件上传到云盘我的应用程序(apps) /bypy/cloud 文件夹内.也可上传整个文件夹,命令示例如下:bypy upload /123 /cloud
.将本地123文件夹内所有文件上传到云盘 apps/bypy/cloud 文件夹内.
应用
数据库自动上传备份
# create back script.
[root@localhost ~]# touch mysql_back.sh
# add executable permissions
[root@localhost ~]# chmod +x mysql_back.sh
[root@localhost ~]# vim mysql_back.sh
#!/bin/bash
#
# backup mysqldump file to baidu yunPan
# filepath: /usr/local/bin/mysql_back.sh
# Author: samzong
#
function upload_file(){
TIME=`date "+%Y%m%d%H%M%S"`
folder="/mysqlbak"
filename="db_$TIME.sql"
filePath=$folder/$filename
if [ ! -f $filePath ]; then
echo "[ERROR]["`date +%Y-%m-%d' '%H:%M:%S`"] $folder/$filename not found."
else
echo "[INFO]["`date +%Y-%m-%d' '%H:%M:%S`"] $folder/$filename has been found. Start uploading ......"
bypy upload "$filePath" "v6/mysql_backup/$filename"
echo "[INFO]["`date +%Y-%m-%d' '%H:%M:%S`"] Uploading end."
fi
}
# set TIME variable
TIME=`date "+%Y%m%d%H%M%S"`
# backup db ghost to /mysqlbak/
mysqldump --single-transaction -h localhost -u ghost_backuser -pbackupPass ghost > /mysqlbak/db_$TIME.sql
# tar sql file
tar czvf /mysqlbak/ghost_$TIME.sql.tgz /mysqlbak/ghost_$TIME.sql --remove-files
# upload sql file to baidu yunPan.
upload_file;
# send mial to admin'mial
if [ $? -eq 0 ]; then
echo "ghost SQL dump is successfully. At time: `date` " | mail -s ghost-dump-successfully samzong.lu@gmail.com
else
echo " Error Error ghost SQL dump is Error. At time: `date` " | mail -s ghost-dump-error samzong.lu@gmail.com
fi
添加定时任务
crontab -e
00 00 * * * sh /usr/local/bin/mysql_back.sh
本文部分引用https://github.com/houtianze/bypy/blob/master/README.md. http://blog.csdn.net/aliveqf/article/details/64132958.