MitseaBlog/content/post/5bc10de5f19441f1bfe50bc5ede.../index.zh-cn.md

87 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

+++
author = "FlintyLemming"
title = "TrueNAS 定时同步配置"
slug = "5bc10de5f19441f1bfe50bc5ede20799"
date = "2023-12-31T01:00:00+08:00"
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.avif"
+++
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.avif)
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.avif)
首先要说明的是这里的参数格式为 --[参数名]=”[参数内容]”。然后说几个常用参数,其他的可以自己查。
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.avif)
## 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.avif)
然后在云同步里设置同步就行了
![](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.avif)
> 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)