복사-붙여넣기로 편집한 /etc/crontab을 복원하는 방법은 무엇입니까?

복사-붙여넣기로 편집한 /etc/crontab을 복원하는 방법은 무엇입니까?

실수를 해서 /etc/crontab을 복사하고 붙여넣어 편집했습니다. 이제 이러한 crontab 항목은 효과가 없습니다.

[root@process ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
*/5 * * * * root php /var/www/vhosts/mydomain.com/subdomains/apn/httpdocs/sdkstatistics/callEveryFiveMinute.php 2>&1 /tmp/testlog.log

나중에 몇 가지 조사를 해보니 crontab을 복사하여 붙여넣는 방법으로 편집하면 안 된다는 사실을 발견했습니다. 대신에 나는 사용해야한다크론탭 -e크론탭을 추가합니다.

나는 이미 달렸다크론탭 -l현재 명령 목록을 표시합니다.

[root@process ~]# crontab -l
7,17,27,37,47,57 *  *  *  * /usr/lib/plesk-9.0/postfix-poplockdb-clean
1,16,31,46  *   *   *   *   /usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1

이게 내 마지막 글이야*/5 * * * * 루트 php /var/www/vhosts/mydomain.com/subdomains/apn/httpdocs/sdkstatistics/callEveryFiveMinute.php 2>&1 /tmp/testlog.log목록에 없습니다.

이제 이전 상태로 돌아갈 수 있나요? 아니면, 어떻게 하면 더 좋을까요?

답변1

실행 중인 cron 데몬의 배포판이나 버전을 지정하지 않았지만 cron은 사용자별 crontab 파일뿐만 아니라 시스템 crontab 파일(/etc/crontab)을 유지 관리할 가능성이 높습니다.

crontab -l(루트로)을 실행할 때 표시되는 파일은 아마도 /var/spool/cron/crontabs/root일 것입니다. 이는 crontab -e를 사용하여 변경하려는 위치입니다.

배포판 버전이나 cron 데몬에 대한 추가 정보 없이는 진행하지 않겠지만 /etc/crontab은 사용자별 crontab 파일과 구문이 약간 다르기 때문에 손상되었을 수 있습니다. 바라보다

man cron 

man crontab

그리고

man 5 crontab

cron 데몬 구성에 대한 자세한 내용을 보려면 /etc/crontab에서 오류 줄을 제거하고 이를 /etc/cron.* 디렉터리 또는 사용자 crontab 파일 중 하나에 추가하세요. /var/log의 시스템 로그 파일에서 /etc/crontab의 오류 메시지를 찾을 수 있습니다.

관련 정보