실수를 해서 /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의 오류 메시지를 찾을 수 있습니다.