我正在尝试使用 rsnapshot 将我的远程服务器 (AlmaLinux 9) 的增量 rsync 同步到我的本地桌面 (Ubuntu 20.04)。
我发现 8GB 的源目录在目标目录中只有 4GB。
第二次执行 rsnapshot,rsync 命令显示的输出为:
/usr/bin/rsync -azv --delete --inplace --delete-excluded --relative --exclude=awstats --rsh=/usr/bin/ssh -p xxxx --link-dest=/path-to-target/alpha.1/. root@remote-host:/path-to-source/ /path-to-target/alpha.0/.
我发现.dir
并非全部下载。path-to-source/Maildir 有一些额外的文件夹,如 .F1 .F2 .F3 .F4 ... .F10
这次 rsnapshot/rsync 的输出很短:
receiving incremental file list
path-to-source/Maildir/
path-to-source/Maildir/dovecot.index.cache
path-to-source/Maildir/dovecot.index.log
path-to-source/Maildir/.F3/
path-to-source/Maildir/.F2/
path-to-source/Maildir/.F5/
sent 9,030 bytes received 3,074,181 bytes 212,635.24 bytes/sec total size is 13,113,853,857 speedup is 4,253.31
第三次执行该命令有类似的 rsync 输出,但是
...
path-to-source/Maildir/.F1/
path-to-source/Maildir/.F4/
path-to-source/Maildir/.F3/
...
因此,rsync 开始接收增量文件列表,但它会在几个文件之后停止.dir
并输出报告。
没有下载任何这些文件,也.Fx
没有下载任何其他文件。.file
.dir
我读过的几乎所有类似问题都提到了使用 的问题*
。我从未使用过它,没有必要。
该选项-a
意味着包含点目录。
其他帖子建议更改 MTU (!!) 或预执行shopt -s dotglob
None 对我都有效。
我被困在这里,不知道如何让 rsync 备份所有点文件和点目录。
更新 1:
再次尝试:在rsync_long_args
rsnapshot 配置行中我添加了--include=".*"
(我的第一个*
!)
奇怪的是,rsnapshot rsync 命令预览不显示包含的选项,而是显示其他选项。
它似乎确实有效,正在下载 .F1 中的大量文件。我也读过--include=".*"
将排除其他文件,但从linux.die.net
--include=PATTERN 不排除与 PATTERN 匹配的文件
更新 2:
让 cron 在晚上完成其工作,我得到了完整的备份。
答案1
要获得完整的同步备份包括我使用的点文件和点目录-a
以及--include=".*"
命令的选项。双引号。单引号不起作用。
来自 man rsync
包含模式 = 不排除匹配模式