共计 4038 个字符,预计需要花费 11 分钟才能阅读完成。
常见问题
所有的云存储系统都支持所有的rclone命令吗?
是的,他们做了。 所有的rclone命令(例如sync',
copy’, 等等)将在所有的远程存储系统上工作。.
我可以将配置从一台机器复制到另一台机器吗?
当然! Rclone将所有的配置存储在一个文件中。 如果你想找到这个文件,运行rclone config file
,它会告诉你它在哪里。
更多信息见远程设置文档。
我如何在一个没有浏览器的远程/无头盒子上配置rclone?
这一点现在已经被记录在自己的远程设置页面中了。.
rclone能否直接从硬盘同步到s3?
Rclone可以在两个远程云存储系统之间很好地进行同步。
请注意,它实际上是下载文件并再次上传,所以运行Rclone的节点需要有大量的带宽。
同步将是增量的(在一个文件的基础上)。
e.g.
rclone sync -i drive:Folder s3:bucket
同时从多个地点使用rclone
如果你为输出选择不同的子目录,你可以同时从多个地方使用rclone,比如说
Server A> rclone sync -i /tmp/whatever remote:ServerA
Server B> rclone sync -i /tmp/whatever remote:ServerB
如果你同步到同一个目录,那么你应该使用rclone拷贝,否则rclone的两个实例可能会互相删除对方的文件,例如
Server A> rclone copy /tmp/whatever remote:Backup
Server B> rclone copy /tmp/whatever remote:Backup
在这种情况下,你从服务器A和服务器B上传的文件名应该是不同的,否则一些文件系统(如Drive)可能会产生重复的文件。.
为什么rclone不像rsync那样支持部分传输/二进制差异?
Rclone将你传输的每个文件作为一个本地对象存储在远程云存储系统上。 这意味着你可以使用其他访问方法(如使用Google Drive网络界面)看到你上传的文件。 在你的硬盘上的文件和云存储系统中创建的对象之间有1:1的映射。
云存储系统(至少我还没有遇到过)不支持部分上传一个对象。你不能把一个现有的对象,在中间改变一些字节。
有可能建立一个同步系统,存储二进制差异,而不是像rclone那样存储整个对象,但这将打破你硬盘上的文件与远程云存储系统中的对象的1:1映射。
所有的云存储系统都支持内容的部分下载,因此有可能使部分下载发挥作用。 然而,为了使其有效地工作,这将需要存储大量的元数据,这打破了所需的文件与对象的1:1映射。.
rclone能做双向同步吗?
是的,从rclone v1.58.0开始,双向云同步是可用的。
我可以用HTTP代理使用rclone吗?
是的。rclone将遵循代理的标准环境变量,类似于cURL和其他程序。
一般来说,这些变量被称为http_proxy
(用于通过http
到达的服务)和https_proxy
(用于通过https
到达的服务)。 大多数公共服务将使用https
,但你可能希望同时设置两个。
该变量的内容是protocol://server:port
。 协议值是用来与代理服务器对话的,通常是http
或socks5
。
稍微令人讨厌的是,这个名称没有标准;一些应用程序可能使用http_proxy
,而另一个则使用HTTP_PROXY
。 rclone'使用的
Go’库会尝试两种变化,但你可能希望设置所有的可能性。 因此,在Linux上,你可能会得到类似以下的代码
export http_proxy=http://proxyserver:12345
export https_proxy=$http_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$http_proxy
注意:如果代理服务器要求有用户名和密码,那么使用
export http_proxy=http://username:password@proxyserver:12345
export https_proxy=$http_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$http_proxy
NO_PROXY "允许你禁用特定主机的代理。主机必须是逗号分隔的,可以包含域或部分。例如 "foo.com "也可以匹配 "bar.foo.com"。
e.g.
export no_proxy=localhost,127.0.0.0/8,my.host.name
export NO_PROXY=$no_proxy
注意,FTP后端还不支持ftp_proxy
。
Rclone给出x509:加载系统根目录失败,没有提供根目录错误
这意味着rclone
无法找到SSL根证书。 很可能你是在NAS上运行rclone
,其操作系统是被削减的Linux,或者可能是在Solaris上。
Rclone(通过Go运行时)试图在Linux上从这些地方加载根证书。
"/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL
"/etc/ssl/ca-bundle.pem", // OpenSUSE
"/etc/pki/tls/cacert.pem", // OpenELEC
因此,像这样做应该可以解决问题。 它还设置了时间,这对SSL的正常工作很重要。
mkdir -p /etc/ssl/certs/
curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
ntpclient -s -h pool.ntp.org
在x509包中提到的两个环境变量SSL_CERT_FILE
和SSL_CERT_DIR
,提供了一个额外的方法来提供SSL根证书。
注意你可能需要在curl'命令行中添加
–insecure’选项,如果没有这个选项就不能工作。
curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
Rclone给出了加载配置文件失败:功能未实现的错误。
很可能这意味着你正在Linux上运行rclone,而go运行时不支持这个版本,即早于2.6.23版本。
请参阅go安装文档中的系统要求部分以了解全部细节。
我上传的所有docx/xlsx/pptx文件都以档案/zip形式出现
这是由于从没有安装微软办公套件的Windows电脑上传这些文件造成的。 最简单的解决方法是安装Word浏览器和Microsoft Office Compatibility Pack,用于Word、Excel和PowerPoint 2007及以后版本的文件格式。
tcp lookup some.domain.com 没有这样的主机
这发生在rclone不能解决一个域名的时候。请检查你的DNS设置是否正常,比如说
# both should print a long list of possible IP addresses
dig www.googleapis.com # resolve using your default DNS
dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
如果你使用的是 systemd-resolved
(Arch Linux的默认版本),请确保它是233或更高版本。以前的版本包含一个错误,导致不是所有的域名都能被正确解析。
此外,通过GODEBUG=netdns=
环境变量,可以影响Go解析器的决定。这也允许解决DNS解析的某些问题。请参阅go docs中的名称解析部分。
同步统计中报告的总大小是错误的,而且一直在变化。
你很可能有超过10000个文件需要同步。默认情况下,rclone在一次同步中只获取1万个文件,以免占用过多的内存。你可以用–max-backlog标志改变这个默认值。
Rclone使用了太多的内存或似乎有内存泄漏
Rclone是用Go写的,它使用了一个垃圾收集器。 垃圾收集器的默认设置意味着它在堆的大小翻倍时运行。
但是可以通过设置GOGC来调整垃圾收集器,使其使用更少的内存,例如export GOGC=20
。 这将使垃圾收集器更努力地工作,在牺牲CPU使用率的情况下减少内存大小。
导致rclone使用大量内存的最常见原因是一个有数千或数百万文件的目录。 Rclone必须将其作为rclone对象完全加载到内存中。 每个rclone对象需要0.5k-1k的内存。
Rclone改变文件名中的全宽Unicode标点符号
比如说。在Windows系统中,你有一个名字为Test:1.jpg
的文件,其中:
是Unicode全角冒号符号。当使用rclone将其复制到Google Drive时,你会注意到该文件被重命名为Test:1.jpg
,其中:
是普通的(半宽)冒号。
这种重命名的原因是rclone处理不同云存储系统上不同限制性文件名的方式。它试图尽量避免模糊的文件名,并允许在许多云存储系统之间透明地移动文件,当转移到一个存储系统时,用看起来相似的Unicode字符替换无效的字符,当转移到一个支持原始字符的不同存储系统时,再替换回来。当文件名中故意使用相同的Unicode字符时,这种替换策略会导致不必要的重命名。阅读更多[这里](/overview.html#restricted-filenames-caveats)。