+++ author = "FlintyLemming" title = "TrueNAS 定时同步配置" slug = "5bc10de5f19441f1bfe50bc5ede20799" date = "2023-12-14" description = "" categories = ["HomeLab"] tags = ["TrueNAS", "rsync"] image = "https://img.mitsea.com/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/rick-rothenberg-Ih4tXZrOkMI-unsplash.jpg?x-oss-process=style/ImageCompress" +++ TrueNAS 的同步功能我挺喜欢的,因为我文件比较多,可管理的定时非实时同步对我来说很实用,也比实时同步更可靠。 但是 TrueNAS 的同步配置起来跟其他系统或者软件不太一样,有点扭曲,这里帮助需要使用的人快速上手。 主要介绍 Rsync 和 WebDAV,前者介绍的是 Module 方式的同步,因为我看网上说的都是走 SSH 传输。我自己更喜欢 Module 这种用户名和密码方式的验证,简单方便。 ## Rsync ### 基本配置 首先对基本配置里的几个点做补充 ![](https://img.mitsea.com/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled.png?x-oss-process=style/ImageCompress) 1. 若要同步文件夹里的内容,这里要加一个斜杠,默认不会加 2. 用户这里建议选择和使用 Samba 相同的用户(一般就是除了 root 之外你自己手动创建的那个用户) 3. Push 就是同步到对方的设备上,Pull 就是同步到本机 4. 用户名加在地址的前面 5. 模块名可以自己用下面命令拉个 list,群晖的话默认就是共享文件夹的列表 ```bash rsync rsync://[服务器地址]/ ``` ### 创建密码文件 密码似乎不能直接写在环境变量里,我这里是创建了一个密码文件 1. 在上面的基本设置里,确认你的账户名,然后要创建一个只能被该用户访问的密码文件。所以首先在这个用户所有权的目录里创建密码文件。第一步是找到账户目录。打开命令行执行下面的命令即可 ```bash su - username ``` 2. 创建密码文件。客户端的密码文件只需要有密码的明文,不需要有用户名和冒号以及其他内容 ```bash nano rsync.secrets ``` 3. 设置该文件不允许其他用户访问。否则就会报 `ERROR: password file must not be other-accessible` 的错误。由于是在所有者为 username 的文件夹里创建的文件,所以执行该操作后,这个文件就只允许 username 访问 ```bash chmod 600 rsync.secrets ``` ### 具体参数配置 这里就是比较扭曲的地方了,他这个同步的 WebUI 功能做的不全,很多常用的功能还要自己加参数 ![](https://img.mitsea.com/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%201.png?x-oss-process=style/ImageCompress) 首先要说明的是这里的参数格式为 --[参数名]=”[参数内容]”。然后说几个常用参数,其他的可以自己查。 1. password-file 这里内容填刚才创建的密码文件 2. log-file 建议用,因为如果报错了 TrueNAS 不会显示错误原因 3. exclude 用来排除文件夹,如果你开了快照,建议排除 .zfs,不然就会把快照内容也同步到对方机器中 ### 补充-群晖的 Rsync 服务器 原生 Linux 中,用户的登陆密码、Samba 密码、Rsync 服务端密码其实是三个东西。群晖的 Rsync 密码就需要我们主动设置。设置位置在这里,密码一定要设置,只选择一个用户是不会继承登陆密码的。 ![](https://img.mitsea.com/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%202.png?x-oss-process=style/ImageCompress) ## WebDAV 这个相比于 Rsync 就没有那些弯弯绕了。先在云凭据里创建凭据 ![](https://img.mitsea.com/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%203.png?x-oss-process=style/ImageCompress) 然后在云同步里设置同步就行了 ![](https://img.mitsea.com/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%204.png?x-oss-process=style/ImageCompress) > Photo by [Rick Rothenberg](https://unsplash.com/@rick_rothenberg?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/a-close-up-of-a-bunch-of-green-plants-Ih4tXZrOkMI?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)