bash 스크립트를 사용하여 cronjob 추가 - 루트에 대한 crontab 없음

bash 스크립트를 사용하여 cronjob 추가 - 루트에 대한 crontab 없음

배포 스크립트가 있고 그 안에 cron 작업을 추가하려고 합니다. 이것은 stackoverflow에서 찾은 코드입니다. 저는 데비안 8을 사용하고 있습니다.

# ADD CRON
crontab -l > mycron
echo "10 * * * * cd /var/www/test/ && ./test" >> mycron
crontab mycron
rm mycron

이 명령을 실행하면 다음과 같은 응답을 받습니다.no crontab for root

여기서 내가 뭘 잘못하고 있는 걸까요? bash 스크립트를 사용하여 이 cron 작업을 추가할 수 있도록 하려면 어떻게 해야 합니까? 감사합니다.

답변1

(a) 루트의 crontab이 처음에는 비어 있고 (b) -e옵션이 셸에 설정된 것처럼 들립니다.

사용자의 crontab 파일이 비어 있으면 crontab -l상태 1로 종료됩니다.

옵션을 사용하여 쉘이 실행 중인 경우 -e실패 시 즉시 종료됩니다(0이 아닌 상태로 종료하는 것으로 정의됨).

이 설정을 확인하려면 errexit의 출력에서 ​​를 찾으십시오 . echo $SHELLOPTS를 사용하여 현재 쉘에서 이를 끄십시오 set +e.

관련 정보