指定要从 rsnapshot 备份中排除的远程目录

Tom*_*ell 9 rsync rsnapshot

我环顾四周,但没有找到我的问题的确切答案,即如何指定仅从远程文件系统备份中排除的目录。

假设我有两台机器:一台台式机(服务器)和一台笔记本电脑。我在他们每个人的主目录是/home/tom. 与它的配置文件一起rsnapshot存在于桌面 ( localhost) 上。的backup命令,因此,有:

backup /home/tom/ localhost/
backup tom@laptop:/home/tom/ laptop/
Run Code Online (Sandbox Code Playgroud)

一切都很好。但是说我有/home/tom/music笔记本电脑。这是从桌面复制过来的东西,而且很大。但是当我/home/tom/music/只从以下备份中排除时tom@laptop

exclude tom@laptop:/home/tom/music/
Run Code Online (Sandbox Code Playgroud)

但这不会导致music/被排除在外,并导致我的疱疹发作。

这样做:

exclude /home/tom/music/
Run Code Online (Sandbox Code Playgroud)

当然会导致music/从备份localhostlaptop备份中排除,并导致我的 PID 爆发。

我现在的解决方案是简单地rsnapshot为每个主机设置单独的配置文件,并rsnapshot为每个主机执行一次。但这不应该是必要的。

那么如何仅从远程(笔记本电脑)备份中排除目录?

Tho*_*mas 16

backup行有第四个字段,可用于此类任务。所以你的行应该如下所示。

backup tom@laptop:/home/tom/ laptop/ exclude=/home/tom/music
Run Code Online (Sandbox Code Playgroud)

您可以backup通过用逗号分隔每个选项来添加更多选项。如需进一步阅读,请参阅man页面rsnapshot


小智 7

由于这是我的谷歌搜索的最佳结果,我认为以下内容也可能对其他人有所帮助:

Thomas 的命令有效,但它删除了 /etc/rsnapshot.conf中所有全局定义的排除指令

为了保持现有的排除,您可以使用以下

backup tom@laptop:/home/tom/ laptop/ +rsync_long_args=--exclude=/home/tom/music
Run Code Online (Sandbox Code Playgroud)