놀랍게도 일부 테스트 파일을 백업하기 위해 crontab과 rsync를 사용하여 지난 2015년 12월에 시작한 실험이 여전히 실행 중입니다. 내 유일한 crontab 파일에는 다음 줄만 있습니다.
#55 20 * * * /home/Harry/testrsync/trial_bak.sh
몇 주 후에 시험이 끝났다고 생각했을 때 #이 추가된 주석이 달렸거나 그랬어야 했습니다.
내 질문은 왜 여전히 실행됩니까? 아니면 # 없이 이 줄을 수행하는 다른 방법이 있나요?
백업은 매일 20시부터 55시까지 수행되며 마지막 4개만 유지하며 crontab 항목과 Trial_bak.sh 스크립트에 정의된 대로 유지됩니다.
저는 최신 Fedora로 업데이트하기 위한 준비의 일환으로 Fedora 20과 함께 zshell을 사용하고 있습니다.
해결됨:
답변해주신 모든 분들께 감사드립니다. @Marki555의 답변을 바탕으로 /etc/cron.daily
매일 백업을 수행하는 스크립트가 포함된 디렉토리가 있다는 것을 발견했습니다. 따라서 crontab의 항목은 실제로 주석 처리되어 활성화되지 않았습니다.
답변1
이 cron
데몬은 여러 파일에서 crontab을 가져옵니다.
디렉토리 /etc/cron.d
와 파일은 /etc/crontab
수동으로 편집할 수 있고 데몬이 항상 자동으로 새 버전을 볼 수 있다는 점에서 특별합니다. 또한 이는 사용자 이름 필드도 있는 유일한 crontab 파일입니다.
/var/spool/cron/crontabs
cron 데몬은 개별 사용자의 crontab(보통 in)을 자동으로 다시 읽지 않습니다. 각 변경 후에는 명령을 사용하여 편집 crontab -e
하거나 cron 데몬을 다시 시작해야 합니다.
따라서 귀하의 경우 먼저 cron 데몬을 다시 시작하는 것이 좋습니다. trial_bak.sh
실행과 같은 일부 디버그 출력을 스크립트에 추가할 수도 있습니다 pstree -p
.
답변2
표시되는 행이 이름이 지정된 파일의 출력 crontab -l
또는 파일에서 추출되었습니까 crontab
?
실행 중인 crontab은 일반적으로 /var/spool 아래의 디렉토리에 있습니다. 이 위치는 다를 수 있습니다. 실제 crontab의 이름은 일반적으로 적용되는 사용자 ID에 따라 지정됩니다.
일반적으로 crontab은 편집할 수 있도록 파일로 추출됩니다. 그러나 crontab crontab
원래 crontab 항목은 명령을 사용하여 다시 로드하지 않는 한 계속 작동합니다.