/etc/cron.d는 스크립트를 실행하지 않습니다.

/etc/cron.d는 스크립트를 실행하지 않습니다.

주기적으로 실행하고 싶은 테스트 스크립트가 있습니다. /etc/cron.d이라는 디렉토리에 파일을 만들었 습니다 my_test.cron.

#ls -l /etc/cron.d/my_test.cron
-rwxr-xr-x 1 root root  81 Sep 24  2020 my_test.cron
#cat /etc/cron.d/my_test.cron
00 02 * * * root /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1

cron 작업이 호출되지 않는 것을 볼 수 있습니다. 파일에 사용 가능한 로그가 없습니다 log.err. 그러나 수동으로 실행하면 스크립트가 제대로 작동합니다. 래퍼 스크립트의 권한은 다음과 같습니다. ->

-rwxr-xr-x 1 root root 1.2K Sep 24 2020 /usr/bin/my_dir/test_wrapper.sh

Syslog를 추적하면 내 cron에 대한 정보만 볼 수 있습니다. ->

Jul 14 00:02:01 my-test-vm CRON[15891]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)

내가 여기서 무엇을 놓치고 있는 걸까요?

답변1

/etc/cron.d파일(및 디렉터리)은 /etc/cron.*실행되기 위해 존재하며 파일이 아닙니다 crontab.

  • 디렉토리의 파일은 /etc/cron.*실행될 파일이며 crontab파일이 아닙니다.
  • 의 파일은 /etc/cron.dcrontab 파일입니다.

대체 솔루션은 다음과 같습니다.

또는 /etc/crontab편집

00 02 * * * root /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1

또는 루트로서 다음을 사용하여 crontab -e다음 줄을 추가합니다.

00 02 * * * /usr/bin/my_dir/test_wrapper.sh > /var/log/clamav.err 2>&1

관련 정보