Usando o Rsnapshot com sync_first, link_dest e use_lazy_deletes

5

Eu configurei o rsnapshot com a configuração abaixo e parece funcionar bem. No entanto, se eu entendi o que li corretamente, nos documentos do rsnapshot e em outros tutoriais, a operação seria mais robusta com essas opções adicionadas:

link_dest 1
sync_first 1
use_lazy_deletes    1

No entanto, quando eu os habilitei, particularmente sync_first, parece que não funciona corretamente. Não há erros, mas nada parece acontecer (veja o último bloco de código abaixo). O Configtest é bem sucedido. Eu suspeito que estou perdendo alguma coisa sobre como o sync_first deve ser usado. Gostaria de saber primeiro se essas três opções são de fato benéficas quando usadas juntas (sem conflitos) e, em segundo lugar, há uma diferença na maneira como devo chamar o rsnapshot no cron depois de ativar o sync_first?

Isso é instalado no Ubuntu 14.04 com o rsnapshot 1.3.1 e o rsync tem a opção link_dest. Obrigado por qualquer direção sobre isso, os documentos oficiais estão um pouco secos.

Conf

    config_version  1.2
    snapshot_root   /srv/rsnapshot/
    no_create_root  0
    cmd_cp      /bin/cp
    cmd_rm      /bin/rm
    cmd_rsync   /usr/bin/rsync
    cmd_ssh /usr/bin/ssh
    cmd_logger  /usr/bin/logger
    cmd_du      /usr/bin/du
    cmd_rsnapshot_diff  /usr/bin/rsnapshot-diff

    retain      HoursAgo    6
    retain      DaysAgo     7
    retain      WeeksAgo    4
    #retain monthly 3

    verbose     5
    loglevel    3
    logfile /var/log/rsnapshot.log
    lockfile    /var/run/rsnapshot.pid
    rsync_long_args --stats --delete --numeric-ids --relative --delete-excluded
    ssh_args    -p 22

    # host.mydomain.net
    backup      [email protected]:/etc/        host.mydomain.net/
    backup      [email protected]:/srv/www/        host.mydomain.net/
    backup_script       /usr/bin/ssh [email protected] "rm -rf /var/local/mysqlbak/"       unused/
    backup_script       /usr/bin/ssh [email protected] "/usr/local/bin/mysql_bak.sh"       unused1/
    backup      [email protected]:/var/local/mysqlbak/     host.mydomain.net/mysql/

Cron

 0     */4    * * *    root    /usr/bin/rsnapshot hourly 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" [email protected]
 30     3     * * *    root    /usr/bin/rsnapshot daily 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Daily Backup" [email protected]
 0      3     * * 1    root    /usr/bin/rsnapshot weekly 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Weekly Backup" [email protected]

Resultados da execução com todas as três opções extras ativadas:

root@backup:~# rsnapshot HoursAgo
require Lchown
Lchown module loaded successfully
Setting locale to POSIX "C"
echo 3567 > /var/run/rsnapshot.pid
mv /srv/rsnapshot/HoursAgo.3/ /srv/rsnapshot/HoursAgo.4/
mv /srv/rsnapshot/HoursAgo.2/ /srv/rsnapshot/HoursAgo.3/
mv /srv/rsnapshot/HoursAgo.1/ /srv/rsnapshot/HoursAgo.2/
mv /srv/rsnapshot/HoursAgo.0/ /srv/rsnapshot/HoursAgo.1/
No directory to delete: /srv/rsnapshot/_delete.3567
rm -f /var/run/rsnapshot.pid
/usr/bin/logger -i -p user.info -t rsnapshot /usr/bin/rsnapshot HoursAgo: \
    completed successfully

Isso acontece instantaneamente, sem conexão com o controle remoto e sem tempo para verificar os arquivos alterados.

Update: Encontrei algumas informações adicionais em sync_first nas páginas do Ubuntu no rsnapshot. Eu editei meu cron adicionando rsnapshot sync && na frente da linha hourly :

 0 */4 * * * root /usr/bin/rsnapshot sync && /usr/bin/rsnapshot hourly 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" [email protected]

Isso parece funcionar quando eu o executei manualmente.

Eu ainda gostaria de saber: Essas três opções extras são vantajosas usadas juntas?

Eu também posso despejar as estatísticas, então eu só recebo um e-mail em caso de erro.

    
por David Rahrer 16.01.2015 / 06:12

1 resposta

2

Você precisa chamar rsnapshot sync antes de chamar rsnapshot <level> .

    
por 19.02.2016 / 17:47