CRONTABS
Estou usando o rsnapshot com o cron. Aqui está o que sudo crontab -l
me mostra.
0 */4 * * * /usr/bin/rsnapshot hourly
30 3 * * * /usr/bin/rsnapshot daily
0 3 * * 1 /usr/bin/rsnapshot weekly
SAÍDA
Fui verificar a pasta de backup para ver se tudo está funcionando corretamente, mas aqui está a saída classificada por hora:
elijah@degas:~$ ls -lt /media/backup/
total 0
drwxrwxrwx 1 root root 0 May 30 04:00 hourly.1
drwxrwxrwx 1 root root 0 May 23 04:00 hourly.2
drwxrwxrwx 1 root root 0 May 17 04:00 hourly.3
drwxrwxrwx 1 root root 0 May 14 04:00 hourly.4
drwxrwxrwx 1 root root 0 May 13 04:00 hourly.5
drwxrwxrwx 1 root root 0 May 12 04:00 daily.0
drwxrwxrwx 1 root root 0 May 10 04:00 daily.1
drwxrwxrwx 1 root root 0 May 7 04:00 daily.2
drwxrwxrwx 1 root root 0 May 4 04:00 daily.3
drwxrwxrwx 1 root root 0 Apr 29 16:00 daily.4
drwxrwxrwx 1 root root 0 Apr 28 20:00 daily.5
drwxrwxrwx 1 root root 0 Apr 28 16:04 hourly.0
drwxrwxrwx 1 root root 0 Apr 28 12:21 daily.6
drwxrwxrwx 1 root root 0 Apr 27 10:09 weekly.1
drwxrwxrwx 1 root root 0 Apr 25 07:23 weekly.3
A saída parece quase aleatória! Por que isso poderia estar acontecendo? Eu tenho o que pensei ser uma configuração idêntica em uma máquina diferente e parece estar funcionando bem.
SYSLOG
elijah@degas:~$ cat /var/log/syslog.1 | grep cron
Jun 20 07:40:21 degas anacron[2795]: Job `cron.daily' terminated
Jun 20 07:40:21 degas anacron[2795]: Normal exit (1 job run)
Jun 20 08:17:01 degas CRON[3144]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 09:17:01 degas CRON[3228]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 10:17:01 degas CRON[4893]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 11:17:01 degas CRON[8737]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 12:17:01 degas CRON[10192]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 13:17:01 degas CRON[11870]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 14:17:01 degas CRON[12829]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 15:17:01 degas CRON[13614]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 15:54:28 degas crontab[14446]: (root) BEGIN EDIT (root)
Jun 20 15:55:27 degas crontab[14446]: (root) END EDIT (root)
Jun 20 15:55:29 degas crontab[14460]: (root) LIST (root)
Jun 20 16:17:01 degas CRON[14770]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 16:44:04 degas crontab[14911]: (root) DELETE (root)
Jun 20 16:44:07 degas crontab[14913]: (root) LIST (root)
Jun 20 17:17:01 degas CRON[15713]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 18:17:01 degas CRON[15842]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 19:17:01 degas CRON[15928]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 20:17:01 degas CRON[16023]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 21:17:01 degas CRON[16110]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 22:17:01 degas CRON[16212]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 20 23:17:01 degas CRON[16300]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 00:00:01 degas CRON[16372]: (root) CMD (invoke-rc.d atop _cron)
Jun 21 00:17:01 degas CRON[16437]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 01:17:01 degas CRON[16525]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 02:17:01 degas CRON[16612]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 03:17:01 degas CRON[16701]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 04:17:01 degas CRON[16798]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 05:17:01 degas CRON[16886]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 06:17:01 degas CRON[16974]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 06:25:01 degas CRON[16988]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Jun 21 07:17:01 degas CRON[17061]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jun 21 07:30:01 degas CRON[17083]: (root) CMD (start -q anacron || :)
Jun 21 07:30:01 degas anacron[17086]: Anacron 2.3 started on 2016-06-21
Jun 21 07:30:01 degas anacron[17086]: Will run job `cron.daily' in 5 min.
Jun 21 07:30:01 degas anacron[17086]: Jobs will be executed sequentially
Jun 21 07:35:01 degas anacron[17086]: Job `cron.daily' started
Jun 21 07:35:01 degas anacron[17099]: Updated timestamp for job `cron.daily' to 2016-06-21
TESTE INSTANTÂNEO
elijah@degas:~$ /usr/bin/rsnapshot -t hourly
echo 23633 > /var/run/rsnapshot.pid
/bin/rm -rf /media/backup/hourly.5/
mv /media/backup/hourly.4/ /media/backup/hourly.5/
mv /media/backup/hourly.3/ /media/backup/hourly.4/
mv /media/backup/hourly.2/ /media/backup/hourly.3/
mv /media/backup/hourly.1/ /media/backup/hourly.2/
/bin/cp -al /media/backup/hourly.0 /media/backup/hourly.1
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
--exclude=/var/ --exclude=/space/ --exclude=/nfs/ --exclude=/media/ \
--exclude=/proc/ --exclude=/sys/ --exclude=/dev/ --exclude=/tmp/ \
--exclude=/cdrom/ --exclude=media/backup /. \
/media/backup/hourly.0/Backup
touch /media/backup/hourly.0/
Responder1
Este conselho original aplica-se apenas aDistribuições baseadas em Debian:
Os dois crontab
segmentos que você mostrou não são iguais crontab
. Portanto, seus trabalhos estão sendo executados duas vezes (uma vez de /etc/cron.d/rsnapshot
e uma vez de crontab -l
).
Remova um conjunto, por exemplo sudo crontab -r
, com e ele começará a funcionar corretamente.
A próxima sugestão écertifique-se de que sync_first
não está definidono /etc/rsnapshot.conf
arquivo. (Ou, se for, é 0
.) Caso contrário, embora o ciclo dos diretórios rsnapshot ocorra, nenhum backup será realmente feito sem um rsnapshot sync
comando explícito.
Responder2
Após algunsdiscussão estendidaparece que o sistema de arquivos pode estar corrompido. Por exemplo, rm -rf
falha - como root - em uma árvore normal de arquivos.
Após desmontar o sistema de arquivos, fsck
identifiquei-o como NTFS.
De forma frustrante, tenho visto o NTFS falhar em outras plataformas baseadas em Linux sob as cargas pesadas incorridas pelo rsnapshot
. Não há nada suficientemente repetível com o qual um bug possa ser registrado, mas uma semana geralmente rsnapshots
pode corromper o sistema de arquivos.
Minha recomendação é substituir o sistema de arquivos NTFS por algo nativo de um sistema baseado em Linux, como o ext4. Além disso, se os backups devem ser acessados a partir de uma plataforma Windows, aproveitei bem oo utilitário Ext2FSD e driver para sistemas de arquivos extN(também emsourceforge).