我环顾四周,但没有找到我的问题的确切答案,即如何指定仅从远程文件系统备份中排除的目录。
假设我有两台机器:一台台式机(服务器)和一台笔记本电脑。我在他们每个人的主目录是/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/
从备份localhost
和laptop
备份中排除,并导致我的 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)