在某些情况下,自己的机器直接scp或者rsync拷贝文件到服务器上,速度非常慢。可能的原因之一是服务器端限制了大部分这样的流量。但是在多数情况下,我们自己的机器直接上传/下载文件到google drive或者服务器上传/下载到google drive通常速度可以打满带宽。利用这个特性,就可以借助google drive作为中转,提高本地与服务器之间的文件拷贝。

配置google drive api

参考rclone gdrive api 配置,一步一步获得你的client ID等信息。

注意!可以配置root_folder_id使得服务器上的rclone只能访问特定的文件夹,保证网盘的安全。

安装配置rclone

Rclone是一个好用的云存储管理软件,支持非常多的云存储,比如google drive和one drive等。而且rclone跨平台客户端丰富。

linux下只需要下载它对应的包解压即可。

参考rclone Google Drive,使用rclone config命令,根据提示,一步一步选择和填写对应的API ID等信息即可。

常用命令

https://rclone.org/commands/

Copy

我一般常用的命令是

rclone copy --exclude core -P ./project_data g:/remote_data/

Sync

将本地的project_data目录同步到gdrive上,并保持完全一致,排除在.exclude中列出的文件和文件夹。sync命令只会修改目标文件夹,而不修改source文件夹。

rclone sync -L --exclude-from=./.exclude ./project_data g:/project_data/

可以结合Linux自带的crontab可以设置定时任务。

Tips

由于零碎小文件的传输速度要比一个大文件的传输慢很多,所以如果只是想要在本地和服务器之间传输某些超级大的文件夹,可以先用7zip压缩

下面命令的意思就是用7z压缩一个gpunk.7z文件,排除.exclude-file.txt中列出的文件和文件夹。7z默认支持多线程压缩,所以会比tar或者zip快很多,而且文本压缩率也高很多。

7zr a -t7z gpupunk.7z ./gpupunk [email protected]

文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://www.findhao.net/easycoding/2585.html

Comments

-->