备份错误后如何让 rsnapshot 继续?

备份错误后如何让 rsnapshot 继续?

我已经实现了多服务器备份系统,运行非常有效。

我有一台带有大型磁盘阵列的备份服务器,每天晚上它都会运行 rsnapshot 来备份 LAN(linux/windows)上所有服务器的相关数据。通过常规 ssh 连接与服务器建立连接。

这是我的 rsnapshot.conf 的相关部分(简化部分):

...
backup   user@server-one:/etc/            backup-server-one/
backup   user@server-one:/opt/            backup-server-one/
backup   user@server-two:/etc/            backup-server-two/
backup   user@server-two:/var/            backup-server-two/
backup   user@server-three:/etc/          backup-server-three/
backup   user@server-three:/home/user/    backup-server-three/
...

到目前为止一切顺利。问题是,当由于某种原因一个备份失败时(通常是因为该服务器关闭...),整个 rsnapshot 进程都会终止,并且所有后续快照都不会执行...

问题是:即使出现错误,是否有可能说服 rsnapshot 继续进行下一个“备份”?

答案1

@MarcoS: 很好 ;-)

我给自己写了rsnapshot-包装器并为一个主机提供一个配置文件,因此即使一次 rsnapshot 运行失败,它也将继续下一次运行。

答案2

我确实为自己实施了一个解决方案......在子部分handle_rsync_error我确实改变了

if (0 == $retval) { bail('retval == 0 in handle_rsync_error() ('.$$bp_ref{'src'}.')'); }

if (0 == $retval) {
    print_err ("$config_vars{'cmd_rsync'} error 0 on $$bp_ref{'src'} (check host is up and accepting ssh connections...)", 2);
    syslog_err("$config_vars{'cmd_rsync'} error 0 on $$bp_ref{'src'} (check host is up and accepting ssh connections...)");
  }

现在正在测试,但很有信心... :-)

相关内容