使用 rclone 将文件同步至 Google Dirve

首先是下载文件

yum install unzip wget -y
wget -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

然后复制文件到相关路径

cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone

新建一个配置

    rclone config
    n) New remote
    d) Delete remote
    q) Quit config
    e/n/d/q> n
    name> google(你的配置名称,此处随意填写但之后需要用到)
    Type of storage to configure.
    Choose a number from below, or type in your own value
     1 / Amazon Drive
       \ "amazon cloud drive"
     2 / Amazon S3 (also Dreamhost, Ceph, Minio)
       \ "s3"
     3 / Backblaze B2
       \ "b2"
     4 / Dropbox
       \ "dropbox"
     5 / Encrypt/Decrypt a remote
       \ "crypt"
     6 / Google Cloud Storage (this is not Google Drive)
       \ "google cloud storage"
     7 / Google Drive
       \ "drive"
     8 / Hubic
       \ "hubic"
     9 / Local Disk
       \ "local"
    10 / Microsoft OneDrive
       \ "onedrive"
    11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
       \ "swift"
    12 / SSH/SFTP Connection
       \ "sftp"
    13 / Yandex Disk
       \ "yandex"
    Storage> 7(根据网盘类型选择Google Dirve)
    Google Application Client Id - leave blank normally.
    client_id>此处留空
    Google Application Client Secret - leave blank normally.
    client_secret>此处留空
    Remote config
    Use auto config?
     * Say Y if not sure
     * Say N if you are working on a remote or headless machine or Y didn't work
    y) Yes
    n) No
    y/n> n(此处一定要选择n)
    If your browser doesn't open automatically go to the following
    link: https://accounts.google.com/o/oauth2/auth?xxxxxxxxxxxxxxxxx
Log in and authorize rclone for access
Enter verification code>xxxxxxxxxxx(将上面给出的url复制到你的浏览器打开,登录你的Google Dirve所在的google账户,然后将得到的一串字符串粘贴到此处)
    --------------------
    [google]
    client_id =
    client_secret =
    token = {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null}
    --------------------
    y) Yes this is OK
    e) Edit this remote
    d) Delete this remote
    y/e/d> y(确定信息并保存)

列出文件和目录

rclone lsd google: #列出配置名为shira的网盘的目录(不会显示文件)
rclone ls google:anime #列出配置名为shira的网盘里anime目录下的文件(会显示包括子目录内的所有文件不显示目录)

文件和目录的复制剪切删除操作

rclone copy /root/anime google:anime #复制本地/root/anime到配置名为google的网盘的anime目录,反过来也可以
rclone move /root/anime google:anime #剪切操作
rclone delete google:anime #删除配置名为google的网盘的anime目录
rclone mkdir google:anime #创建配置名为google的网盘的anime目录

同步文件

rclone sync /root/anime google:anime#同步本地/root/anime到配置名为google的网盘的anime目录,反过来也可以 
rclone sync google2:donga google:anime #同步本地配置名为google2的网盘的google目录到配置名为shira的网盘的anime目录,反过来也可以

rclone 常用命令

rclone config – 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。 
rclone copy – 将文件从源复制到目的地址,跳过已复制完成的。 
rclone mount-挂载
rclone sync – 将源数据同步到目的地址,只更新目的地址的数据。 
rclone move – 将源数据移动到目的地址。
rclone delete – 删除指定路径下的文件内容。 
rclone purge – 清空指定路径下所有文件数据。 
rclone mkdir – 创建一个新目录。 
rclone rmdir – 删除空目录。 
rclone check – 检查源和目的地址数据是否匹配。
rclone ls – 列出指定路径下所有的文件以及文件大小和路径。
rclone lsd – 列出指定路径下所有的目录/容器/桶。
rclone lsl – 列出指定路径下所有文件以及修改时间、文件大小和路径。
rclone md5sum – 为指定路径下的所有文件产生一个md5sum文件。 
rclone sha1sum – 为指定路径下的所有文件产生一个sha1sum文件。 
rclone size – 获取指定路径下,文件内容的总大小。
rclone version – 查看当前版本。 
rclone cleanup – 清空remote。 
rclone dedupe – 交互式查找重复文件,进行删除/重命名操作。

Rclone挂载网盘

命令示例:rclone mount google:movie /root/wzfougg –allow-non-empty,此命令会把本地目录/root/wzfougg ,挂载到 网盘(google配置文件名)目录movie 下。如果你的目标目录中有文件,可以使用参数:–allow-non-empty,但是注意它会清空原目录中的文件。

利用Screen让Rclone在后台运行

使用rclone mount 命令后,如果不守护进程的话,会话结束后rclone mount 进程就会终止。我们可以用Screen 来让Rclone保持在后台运行。在执行Rclone挂载命令前,选择执行:执行:screen -S lnmp 创建screen会话(screen -S取别名),挂载完成后再用 快捷键CTRL-a d 来暂时断开当前会话。 最后用screen -r 重新连接上。