小技巧!让Linux和百度云实现文件互传。
希望所有学员都可以站在生信技能树的舞台上发光发热!
作为一只科研生信狗,每晚卷完时,时常会担心自己的数据安全问题(虽然也没啥重要成果)。使用实验室的硬盘备份,还需要插-拔-查等步骤(摔坏了还得你赔)。
这是如果能通过一行代码直接把自己的 数据备份到云盘,是多么的舒适~ 作为一个常年给百度会员交保护费的娃,得使劲用下云盘,不然老觉得亏了点啥~~
这里只需要在linux-server上安装Python client for Baidu Yun(百度云/百度网盘 Python 客户端) bypy(没有root权限时,使用conda):
#这里可以考虑单独创建个环境,不要把所有软件都放在base下,会引起各种冲突的。
conda create -n baiduyun python=3
conda activate baiduyun
conda install -c jiayi_anaconda bypy
#使用时,需要先让百度授权
bypy info
先把第一个框内的链接复制到浏览器打开,然后你会看到如下授权码,复制到linux终端里,回车确认。
一.上传
#建议创建一个名为upload的文件夹,用于每日把需要备份上传的文件mv到该目录
#然后cd到该目录
cd upload
#把需要备份的文件mv到upload后,nohup后台开始上传,然后你就可以走人了。
nohup bypy upload &
#如果嫌上传的慢,可以调用多线程,同步起飞!
nohup bypy upload --processes 10 &
#需要注意由于百度PCS API权限限制,数据只能存放在 全部文件/我的应用数据/bypy目录下。
#每天早上检查备份完后,最好及时整理下。
#compare命令可以检查当前文件夹下文件与云盘里的文件是否一致。即上传成功了没有!
bypy compare
#如果失败了也无所谓,重新提交一遍upload命令,他会自动检测没有上传成功的文件并继续上传。
二.下载
#把云盘 全部文件/我的应用数据/bypy 目录下的文件全部下载到server的当然文件夹下
bypy syncdown --downloader aria2 ./
或者
bypy downdir --downloader aria2 ./
#使用aria2 加速下载!
#在server上查看 云盘里的 文件列表
bypy list
#把云盘特定的文件下载到server
bypy downdir xxx.txt ./
#也可以下载文件夹(递归)
bypy downdir wenjianjia ./
三.其他参数
#通过bypy -h 查看其他参数的使用方法
#往 云盘端 创建文件夹
bypy mkdir xxx
#获取云盘文件信息。get information of the given path (dir / file) at Baidu Yun.
bypy meta xxx
#检索云盘里的文件(递归式)。search for a file using keyword at Baidu Yun
bypy search xxx
#重命名云端文件名
bypy rename xxx xxxxxx
#运行时添加 -v ,显示进度详情。
bypy -v
#运行时添加 -d ,显示一些调试信息。
bypy -d
#运行时添加 -ddd ,显示HTTP通讯信息
bypy -ddd
等等~ 你应该明白等等是什么意思 -.-
当然如果有root权限,也可以直接安装在底层:
yum install python-pip
pip install requests
pip install bypy
vim ~/.bashrc
export PATHxxxx
等等~ 这是最后一个等等了。。。
----By ME
如果你想看懂上面的代码,需要Linux的6个阶段也跨越过去 ,一般来说,每个阶段都需要至少一天以上的学习:
第1阶段:把linux系统玩得跟Windows或者MacOS那样的桌面操作系统一样顺畅,主要目的就是去可视化,熟悉黑白命令行界面,可以仅仅以键盘交互模式完成常规文件夹及文件管理工作。 第2阶段:做到文本文件的表格化处理,类似于以键盘交互模式完成Excel表格的排序、计数、筛选、去冗余,查找,切割,替换,合并,补齐,熟练掌握awk,sed,grep这文本处理的三驾马车。 第3阶段:元字符,通配符及shell中的各种扩展,从此linux操作不再神秘! 第4阶段:高级目录管理:软硬链接,绝对路径和相对路径,环境变量。 第5阶段:任务提交及批处理,脚本编写解放你的双手。 第6阶段:软件安装及conda管理,让linux系统实用性放飞自我。