크론타브

크론타브

크론타브

cron과 함께 rsnapshot을 사용하고 있습니다. 나에게 보여주는 것은 다음과 같습니다 sudo crontab -l.

0 */4           * * *   /usr/bin/rsnapshot hourly
30 3    * * *           /usr/bin/rsnapshot daily
0  3    * * 1           /usr/bin/rsnapshot weekly

산출

모든 것이 올바르게 작동하는지 확인하기 위해 백업 폴더를 확인하러 갔지만 다음은 시간 정렬 출력입니다.

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

출력은 거의 무작위로 보입니다! 왜 이런 일이 일어날 수 있습니까? 다른 컴퓨터에도 동일한 구성이 있다고 생각했는데 제대로 작동하는 것 같습니다.

시스템 로그

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

RSNAPSHOT 테스트

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/ 

답변1

이 원래 조언은 다음에만 적용됩니다.Debian 기반 배포판:

crontab표시된 두 세그먼트는 동일하지 않습니다 crontab. 따라서 작업은 두 번 실행됩니다(에서 한 번 /etc/cron.d/rsnapshot, 에서 한 번 crontab -l).

예를 들어 세트 하나를 제거하면 sudo crontab -r제대로 작동하기 시작합니다.


다음 제안은sync_first설정되지 않았 는지 확인하세요.파일 에서 /etc/rsnapshot.conf. (또는 입니다 0.) 그렇지 않으면 rsnapshot 디렉터리 순환이 발생하더라도 명시적인 rsnapshot sync명령 없이는 실제로 백업이 수행되지 않습니다.

답변2

얼마 후확장된 토론파일 시스템이 손상된 것 같습니다. 예를 들어, rm -rf일반 파일 트리에서 루트로서 실패합니다.

파일 시스템을 마운트 해제한 후 fsckNTFS로 식별했습니다.

실망스럽게도 rsnapshot. 버그를 신고할 수 있을 만큼 충분히 반복 가능한 것은 없지만 rsnapshots일반적으로 일주일 정도만 사용하면 파일 시스템이 손상될 수 있습니다.

제가 추천하는 것은 NTFS 파일 시스템을 ext4와 같은 Linux 기반 시스템 고유의 파일 시스템으로 바꾸는 것입니다. 여담이지만, Windows 플랫폼에서 백업에 액세스해야 하는 경우 저는 다음과 같은 방법을 잘 활용했습니다.extN 파일 시스템용 Ext2FSD 유틸리티 및 드라이버(또한소스포지).

관련 정보