rclone安装教程
Rclone 是一个 Go 程序,只有一个二进制文件。
快速启动
- 下载 相关的二进制文件。
- 从压缩包中提取
rclone
可执行文件,Windows 下为rclone.exe
。 - 运行
rclone config
进行设置。 详情请参见 rclone config docs。 - 可选择配置 自动执行。
请参阅下面的 Linux / macOS / Windows 扩展说明。
关于如何使用 rclone,请参阅 usage 文档,或
运行 rclone -h
。
已经安装的 rclone 可以很容易地更新到最新版本 rclone selfupdate](/commands/rclone_selfupdate/)命令更新到最新版本。
请参阅发行版签名文档了解如何验证 版本上的签名。
脚本安装
要在 Linux/macOS/BSD 系统上安装 rclone,请运行
sudo -v ; curl https://rclone.org/install.sh | sudo bash
要安装测试版,请运行
sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta
请注意,该脚本会首先检查已安装的 rclone 版本,然后再检查已安装的 如果不需要,则不会重新下载。
Linux 安装
预编译二进制文件
获取和解压缩
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
复制二进制文件
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
安装手册
sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb
运行 rclone config
进行设置。 详情请参阅 rclone config docs。
rclone 配置
macOS 安装
使用 brew 安装
brew install rclone
注意:该版本的 rclone 将不再支持 mount
(参见
#5373)。 如果想在
在 macOS 上,要么安装预编译的二进制文件,要么在[从源码安装](#5373
从源代码安装](#source)时启用相关选项。
请注意,这是第三方安装程序,不受 rclone 开发者控制的第三方安装程序,因此可能已经过时。 当前版本如下。
使用 MacPorts 安装
在 macOS 上,也可通过 MacPorts 安装 rclone:
sudo port install rclone
请注意,这是第三方安装程序,不受 rclone 开发者控制的第三方安装程序,因此可能已经过时。 其当前版本如下。
更多信息 此处。
预编译二进制文件,使用 curl
为避免 MacOS gatekeeper 强制二进制文件签名和公证的问题,只需使用curl
下载即可。
使用 curl
下载即可。
下载最新版本的 rclone。
cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
解压下载文件,并 cd 到解压后的文件夹。
unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
将 rclone 移到你的 $PATH。 系统会提示你输入密码。
sudo mkdir -p /usr/local/bin
sudo mv rclone /usr/local/bin/
(mkdir “命令可以安全运行,即使目录已经存在)。
删除剩余文件
cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
运行 rclone config
进行设置。 详情参见 rclone config docs。
rclone config
使用网络浏览器下载预编译二进制文件
使用网络浏览器下载二进制文件时,浏览器将设置 macOS 网守隔离属性。 从 Catalina 开始,当尝试运行 rclone “时,会出现一个弹出窗口,提示
"rclone "无法打开,因为无法验证开发者。
macOS 无法验证此应用程序是否不含恶意软件。
最简单的修复方法是运行
xattr -d com.apple.quarantine rclone
Windows 安装 {#windows}
预编译二进制文件
通过点击这些 链接。 如果不确定,请使用第一个链接。
- Intel/AMD - 64 位](https://downloads.rclone.org/rclone-current-windows-amd64.zip)
- 英特尔/AMD - 32 位](https://downloads.rclone.org/rclone-current-windows-386.zip)
- ARM - 64 位](https://downloads.rclone.org/rclone-current-windows-arm64.zip)
在资源管理器中打开该文件并解压缩rclone.exe
。 Rclone 是一个
Rclone 是一个可移植的可执行文件,所以你可以把它放在任何方便的地方。
打开 CMD 窗口(或 powershell)并运行二进制文件。 请注意,rclone 默认不启动图形用户界面,而是在 CMD 窗口中运行。
- 运行
rclone.exe config
进行设置。 详情请参阅 rclone config docs。 - 可选择配置 自动执行。
如果计划使用 rclone mount,则需要安装autostart。 功能,则需要安装第三方实用程序 WinFsp 。
Windows 软件包管理器(Winget)
最新版本的 Windows 预装了 Winget。 如果没有,请从微软商店更新 App Installer 软件包。
安装 rclone
winget install Rclone.Rclone
卸载 rclone
winget uninstall Rclone.Rclone --force
Chocolatey 软件包管理器
确保安装了 Choco
choco 搜索 rclone
choco install rclone
这将在 Windows 机器上安装 rclone。 如果您打算 使用 rclone mount,那么
choco install winfsp
也会安装。
请注意,这是第三方安装程序,不受 rclone 开发者控制的第三方安装程序,因此可能已经过时。 其当前版本如下。
scoop软件包管理器
确保已安装 Scoop。
scoop install rclone
请注意,这是第三方安装程序,不受 rclone 开发者控制的第三方安装程序,因此可能已经过时。 其当前版本如下。
软件包管理器安装
许多 Linux、Windows、macOS 和其他操作系统发行版都会打包和 分发 rclone。
发布的 rclone 版本通常已经过时。 因此,我们建议尽可能使用其他安装方法。 可能的话,我们建议使用其他安装方法之一。
你可以从这里了解你的操作系统发行版的 软件包的最新程度。
Docker 安装
rclone 开发者维护着一个 docker image for rclone。
这些镜像是发布过程中基于 最小化的高山 Linux。
最新 “标签总是指向最新的稳定版本。 您可以使用
可以使用 :beta
标签从 master 版获取最新的构建版本。 还可以
版本标签,如 :1.49.1
、:1.49
或 :1
。
$ docker pull rclone/rclone:latest
最新: 从 rclone/rclone 中调用
Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
...
$ docker run --rm rclone/rclone:latest version
rclone v1.49.1
- 操作系统/架构:Linux/amd64
- go 版本:go1.12.9
启动 rclone Docker 容器时,有几个命令行选项需要考虑 从 rclone 映像启动。
-
你需要将位于
/config/rclone
的主机 rclone 配置目录挂载到 Docker 容器中。 由于 rclone 会在其配置文件中更新令牌,而且更新过程涉及文件重命名。 更新过程涉及文件重命名,因此你需要将整个主机 rclone 配置目录,而不仅仅是单个主机 rclone 配置文件。 -
你需要将主机数据目录挂载到 Docker 容器的
/data
。 -
默认情况下,Docker 容器内的 rclone 二进制文件以 UID=0 (root) 运行。 因此,在运行过程中创建的所有文件都是 UID=0。 以非 root UID:GID 驻留在主机上,则需要将这些文件传递给容器 启动命令行中传递这些文件。
-
如果要访问 RC 界面(通过应用程序接口或 Web UI),必须将 需要将
--rc-addr
设置为:5572
,以便从容器外部连接到它。 容器内工作。 此处解释了为什么需要这样做。- 注意:如果用户在运行该容器时将 docker 网络设置为
host
,那么应该将它设置为监听 localhost。 可能应将其设置为只监听 localhost,并将127.0.0.1:5572
设置为--rc-addr
的值。
- 注意:如果用户在运行该容器时将 docker 网络设置为
-
可以在用户空间 Docker 容器中使用
rclone mount
,并将生成的 fuse mount 暴露给主机。 生成的 fuse mount 暴露给主机。 具体的docker run
选项在不同主机上可能略有不同。 选项可能略有不同。 例如,请参阅以下讨论 线程中的讨论。你还需要挂载主机上的
/etc/passwd
和/etc/group
,这样 fuse 才能在其中工作。 容器内工作。
以下是在 Ubuntu 18.04.3 主机上测试的一些命令:
# 主机上的配置,位于 ~/.config/rclone/rclone.conf
# 主机上的 ~/data 数据
# 以交互方式添加远程
docker run --rm -it \
--volume ~/.config/rclone:/config/rclone \
--user $(id -u):$(id -g) \
rclone/rclone
config
# 通过列出远程来确保配置没问题
docker run --rm \
--volume ~/.config/rclone:/config/rclone \
--user $(id -u):$(id -g) \
rclone/rclone
listremotes
# 在 Docker 容器内执行挂载,将结果暴露给主机
mkdir -p ~/data/mount
docker run --rm \
--volume ~/.config/rclone:/config/rclone \
--volume ~/data:/data:shared \
--user $(id -u):$(id -g) \
--volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro\
--device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
rclone/rclone
mount dropbox:Photos /data/mount &
ls ~/data/mount
kill %1
Snap 安装
确保已安装Snapd
$ sudo snap install rclone
由于 Snap 的严格限制,rclone snap 无法访问真正的 /home/$USER/.config/rclone 目录,默认配置路径如下。
- 默认配置目录:
- /home/$USER/snap/rclone/current/.config/rclone
注意:由于 Snap 的严格限制,“rclone 挂载 “功能不受支持。
如果需要挂载,要么安装预编译的二进制文件,要么在从源代码安装时启用相关选项。
请注意,它由 community maintainer 而非 rclone 开发者控制,因此可能已经过时。 当前版本如下。
源码安装
确保已安装 git 和 Go。 Go 需要 1.22 或更新版本,建议使用最新版本。 您可以从软件包管理器获取,或从 golang.org/dl下载。 然后运行以下命令:
git clone https://github.com/rclone/rclone.git
cd rclone
go build
这将签出 rclone 子文件夹 rclone 中的 rclone 源代码。
修改并发送拉取请求。 然后会在同一文件夹中构建 rclone 可执行文件
可执行文件。 作为初始检查,你现在可以运行 ./rclone version
.
(在 Windows 下为 .\rclone version
)。
请注意,在 macOS 和 Windows 上,mount
命令将不可用,除非你指定了额外的构建标记 cmount
。
go build -tags cmount
前提是您的 PATH 目录中有兼容 GCC 的 C 编译器(GCC 或 Clang)、 因为它使用 cgo。 但在 Windows 系统上,cmount 的 cgofuse库是 cmount 实现所基于的 cgofuse 库也支持构建 不使用 cgo,即通过设置 环境变量 CGO_ENABLED 的值为 0(静态链接)。 这就是 从 1.59 版开始,rclone 的正式 Windows 版本就是这样构建的。 在 Windows 上也可以通过 GCC 的 MinGW 端口,例如将其安装在 MSYS2 发行版中安装(确保将其安装在经典的 mingw64 子系统中,因为 ucrt64 版本不兼容)。
此外,要在 Windows 上使用挂载构建,必须安装第三方
工具 WinFsp,并选择 “开发者 “功能。
如果使用 cgo 构建,还必须设置环境变量 CPATH,指向
环境变量 CPATH,指向 WinFsp 安装程序中的 fuse include 目录(通常为C:\professional')。 (通常是
C:\Program Files (x86)\WinFsp\inc\fuse`)。
你可以添加参数 -ldflags -s
来省略符号表和调试信息、
和 -trimpath
参数,以删除对本地文件系统路径的引用。
本地文件系统路径的引用。 官方发布的 rclone 就是使用这两个参数构建的。
go build -trimpath -ldflags -s -tags cmount
如果你想自定义由
命令所报告的版本字符串,可以设置变量 fs.Version
、
fs.VersionTag
(保留默认后缀,但可自定义数字)、
或 fs.VersionSuffix
(保留默认编号但自定义后缀)。
这可以通过在编译命令中添加 -ldflags
参数值来实现,如下所示。
参数值,如下所示。
go build -trimpath -ldflags "-s -X github.com/rclone/rclone/fs.Version=v9.9.9-test" -tags cmount
在 Windows 上,官方可执行文件也有版本信息、 以及文件图标,作为二进制资源嵌入。 要在自己的 您需要在***编译命令之前运行以下命令。 它会生成一个 Windows 资源系统对象文件,扩展名为 .syso,例如 resource_windows_amd64.syso`,编译器将自动获取该文件。 将来的编译命令自动获取。
go run bin/resource_windows.go
上述命令将根据运行命令时源代码中的 fs.Version 变量生成一个包含版本信息的资源文件。 上述命令将根据运行命令时源代码中的 fs.Version 变量生成一个包含版本信息的资源文件、 这意味着如果该变量的值发生变化,您需要重新运行 命令才能反映在版本信息中。 此外,如果您 如上所述,如果在编译命令中覆盖了该版本变量,那么在生成版本信息时也需要这样做。 生成资源文件时也需要这样做,否则它仍将使用源代码中的值。 使用源代码中的值。
go run bin/resource_windows.go -version v9.9.9-test
与其直接执行 go build
命令,不如通过
Makefile 运行它。 默认目标会将版本后缀从”-DEV “改为”-beta”。
将版本后缀从”-DEV “改为”-beta
并将生成的 rclone 可执行文件复制到 GOPATH bin 文件夹中
($(go env GOPATH)/bin
, 默认对应~/go/bin/rclone
)。
make
要在 macOS 和 Windows 上使用 Makefile 构建时包含挂载命令,请执行下列操作
make GOTAGS=cmount
还有其他 make 目标可用于更高级的编译、 例如针对所有支持的操作系统/体系结构进行交叉编译,以及将编译结果打包为发布工件。 结果打包成发布的工件。 请参阅 Makefile 和 cross-compile.go 了解详情。
另一种源代码安装方法是下载源代码、
编译和安装 rclone–所有操作一气呵成,如同一个普通的 Go 软件包。
源代码将存储在 Go 模块缓存中,而生成的
可执行文件将放在 GOPATH bin 文件夹中($(go env GOPATH)/bin
、
默认情况下对应于 ~/go/bin/rclone
)。
go install github.com/rclone/rclone@latest
在某些情况下,rclone 可执行文件的大小可能过大,不适合在非常受限的环境中部署。
在某些情况下,当所有带有大型 SDK 的后端都包含在内时,rclone 可执行文件的大小可能会过大,不适合在非常受限的环境中部署。
为了限制二进制文件的大小,可以在 backends/all/all.go
中注释掉未使用的后端,并在 backends/all/all.go
中注释掉未使用的命令。
中注释掉,并在使用 go build
或 make
构建之前,在 cmd/all/all.go
中注释掉未使用的命令。
Ansible 安装
可以使用 Stefan Weichinger 的 ansible 角色。
使用说明
- 将
git clone https://github.com/stefangweichinger/ansible-rclone.git
添加到本地角色目录中。 - 在你想安装 rclone 的主机上添加该角色:
- hosts: rclone-hosts
roles:
- rclone
便携式安装
如 上文 所述,rclone 是一个单一的 可执行文件(“rclone”,或 Windows 下的 “rclone.exe”)。 zip 压缩包,然后解压缩到您选择的位置。 在执行不同的 命令时,它可能会在不同位置创建文件,如配置文件 和各种临时文件。 默认情况下,这些文件的位置是根据 操作系统,例如配置文件在用户配置文件目录下,临时文件在标准临时目录下。 临时文件在标准临时目录下,但您可以自定义所有这些文件的位置,例如将配置文件放在用户配置文件目录下,将临时文件放在标准临时目录下。 但你也可以自定义所有位置,例如制作一个完全独立的便携式安装。
运行 config paths 命令查看 rclone 将使用的位置。
要覆盖它们,请设置相应的选项(作为命令行参数,或作为 环境变量):
自动启动
如上所述,安装和配置完 rclone 后,您就可以将 rclone 作为交互式命令行工具使用。 如果你的目标是执行定期操作、 如定期 sync,你可能需要 在操作系统的调度程序中配置 rclone 命令。 如果需要 暴露类似服务的功能,如远程控制、 图形用户界面、服务 或mount等类似服务的功能时,你通常会希望 rclone 命令始终在后台运行,而将其配置为在服务基础架构中运行 可能是更好的选择。 下面是一些在不同操作系统上实现这一目标的方法。 下面是在不同操作系统上实现这一目标的一些替代方案。
注意:在设置自动运行之前,强烈建议你先测试你的命令 在命令提示符下手动测试。
Windows 上的自动启动
与 Windows 上的自动启动最相关的替代方案有
- 使用启动文件夹在用户登录时运行
- 使用任务计划程序在用户登录、系统启动或计划时运行
- 使用 Windows 服务在系统启动时运行
在后台运行
Rclone 是一个控制台应用程序,因此如果不是从现有的命令提示符启动,则必须在后台运行、
例如,从快捷方式启动 rclone.exe,它将打开一个命令提示符窗口。
在配置 rclone 从任务调度程序和窗口服务运行时,你可以
将其设置为后台隐藏运行。 从 rclone 1.54 版开始,你还可以通过添加选项
隐藏运行(程序启动时仍会短暂闪烁)。
程序启动时仍会短暂闪烁)。 由于 rclone 通常会将信息和任何错误信息写入
因此必须将其重定向到文件中才能看到。
为此,Rclone 提供了一个内置选项 --log-file
。
在后台运行同步的示例命令:
c:\rclone\rclone.exe sync c:\files remote:/files --no-console --log-file c:\rclone\logs\sync_files.txt
用户账户
如 mount 文档所述、
以管理员身份创建的已挂载驱动器对其他账户是不可见的,甚至连
账户也不可见。 以
内置的 SYSTEM
用户账户运行挂载命令,将创建系统中每个人都能访问的驱动器。
驱动器。 计划任务和 Windows 服务均可用于实现此目的。
注意:请记住,当 rclone 以 “SYSTEM “用户身份运行时,它看到的用户配置文件并不是你的。
将不是你的用户配置文件。 这就意味着,如果你在运行 rclone 时将
配置文件在默认位置,要想在以系统用户身份运行时使用相同的配置文件
你必须明确告诉 rclone 在哪里可以找到它。
配置文件的位置、
否则,它会在系统用户配置文件路径(C:\Windows\System32\config\systemprofile
)中查找。
要从命令提示符手动测试你的命令,可以使用
PsExec](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec)
该工具使用选项 -s
来执行命令。
以 SYSTEM
用户身份执行命令。
从启动文件夹启动
要快速执行 rclone 命令,只需在 Windows 资源管理器中创建一个标准的
Windows 资源管理器快捷方式。 如果
将该快捷方式保存在启动菜单的特殊文件夹中,Windows 将在登录时自动运行该快捷方式。
会在登录时自动运行。 在 Windows 资源管理器中打开该文件夹、
输入路径 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
、
或C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
,如果你想让命令在*每次启动时都启动。
命令为每一个登录的用户启动。
这是自动启动 rclone 的最简单方法,但它没有提供 功能,无法将其设置为以不同用户身份运行,也无法设置条件或 某些事件的条件或操作。 设置计划任务如下 通常会取得更好的效果。
从任务计划程序启动
任务调度程序是 Windows 内置的管理工具,可用于
任务调度程序是 Windows 内置的管理工具。
任务调度程序是 Windows 内置的管理工具,可用于配置 rclone 以高度可配置的方式自动启动,例如按计划定期启动、在用户登录时启动或在系统启动时启动。 它可以
配置为以当前用户身份运行,或者对于挂载命令需要
对于需要向所有用户提供的挂载命令,它可以以 SYSTEM
用户的身份运行。
有关技术信息,请参阅
https://docs.microsoft.com/windows/win32/taskschd/task-scheduler-start-page。
作为服务运行
要在系统启动时运行 rclone,可以创建一个 Windows 服务来执行 rclone 命令,以替代配置为在启动时运行的计划任务。
挂载命令内置服务集成
对于挂载命令,rclone 通过其使用的第三方 WinFsp 库集成了 Windows 服务。 注册为常规 Windows 服务非常简单,只需 执行内置的 PowerShell 命令 “New-Service”(需要管理员权限)。
创建用于挂载以下内容的 Windows 服务的 PowerShell 命令示例 远程:/文件 “作为驱动器盘符 “X:",供所有*用户使用(服务将以 本地系统账户运行):
New-Service -Name Rclone -BinaryPathName 'c:\rclone\rclone.exe mount remote:/files X: --配置 c:\rclone\config\rclone.conf --log-file c:\rclone\logs\mount.txt
WinFsp 服务基础设施](https://github.com/billziss-gh/winfsp/wiki/WinFsp-Service-Architecture) 支持将文件系统实现服务(如 rclone)纳入其自身的启动器服务,如 作为一种 “子服务 “纳入自己的启动器服务。 这样做的另一个好处是 它的另一个优势是,它还实现了一个网络提供程序,可集成到 Windows 管理网络驱动器的标准方法。 目前 Rclone 的官方支持,但如果使用 WinFsp 2019.3 B2 / v1.5B2 或更高版本的话 此处所述,通过路径重写应该可以实现。
第三方服务集成
对于运行任何 rclone 命令的 Windows 服务,优秀的第三方实用程序 NSSM,即 “非吸入式服务管理器”,可以使用。 它包含一些高级功能,如调整进程优先级、定义进程环境变量、重定向到文件等。 进程环境变量、将写入 stdout 的内容重定向到文件,以及对不同退出代码的自定义响应。 自定义对不同退出代码的响应。 (也可以通过命令行使用)。
此外,还有其他一些替代方案。 这里再提一个、 WinSW,“Windows 服务封装器”,值得一试。 它需要.NET Framework,但已预装在较新版本的 Windows 中。 它还提供了其他独立发行版,其中包括必要的运行时(.NET 5)。 WinSW 是一个仅支持命令行的实用程序,你必须手动创建一个 XML 文件,其中包含 服务配置的 XML 文件。 对某些人来说,这可能是一个缺点,但也可能是一个优点 因为它可以轻松备份和重复使用配置 设置,而无需在图形用户界面中进行手动操作。 需要注意的是 默认情况下,它不会在出错时重启服务,必须明确启用这一点 onfailure “参数)。 *** 使用www.DeepL.com/Translator翻译(免费版) ***
Linux 上的自动启动
作为服务启动
要始终在后台运行 rclone(与挂载命令等相关),可以使用 systemd 将 rclone 设置为系统或用户服务、 可以使用 systemd 将 rclone 设置为系统或用户服务。 作为 作为系统服务运行,可确保在启动时运行,即使作为其运行的用户 没有活动会话。 将 rclone 作为用户服务运行可确保它仅在 仅在配置的用户登录系统后启动。
通过 cron 定期运行
要定期运行复制/同步等命令,可以设置 cron 作业。