Назад | Перейти на главную страницу

Как разрешить rsnapshot продолжить после ошибки резервного копирования?

Я реализовал многосерверную систему резервного копирования, которая работает достаточно эффективно.

У меня есть резервный сервер с большим дисковым массивом, и каждую ночь он запускает rsnapshot для резервного копирования соответствующих данных на всех серверах в локальной сети (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 перейти к следующему «бэкапу» даже в случае ошибки?

Я реализовал решение ... В подпрограмме 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...)");
  }

Сейчас тестирую, но уверенно ... :-)

@MarcoS: приятно ;-)

Я написал себе rsnapshot-обертка и иметь один файл конфигурации для одного хоста, поэтому даже если один запуск rsnapshot завершится неудачно, он будет продолжен со следующим.