사용자의 크론탭에 "if" 문을 넣는 것이 가능합니까, 아니면 많은 조건부 크론 작업을 구성하는 또 다른 합리적인 방법이 있습니까? 최종 사용자의 관점에서 볼 때 일반 crontab을 사용하고 가능하면 두 줄 사이에 항목을 넣는 것이 가장 쉽습니다.
이상적으로는 다음과 같습니다.
if [ something ]; then
* * * * * /usr/bin/php /path/to/file.php
0 0 * * * /usr/bin/php /path/to/file2.php
*/5 * * * * /root/script.sh
fi
답변1
이것을 정확하게 하는 것은 불가능합니다.
그러나 당신이 할 수 있는 것은 /usr/local/bin/check_live
서버가 현재 활성화되어 있으면 상태 코드 0으로 종료되고 그렇지 않으면 0이 아닌 스크립트를 만드는 것입니다.
그런 다음 다음과 같은 crontab 줄을 가질 수 있습니다.
* * * * * /usr/local/bin/check_live && /usr/bin/php /path/to/file.php
0 0 * * * /usr/local/bin/check_live && /usr/bin/php /path/to/file2.php
*/5 * * * * /usr/local/bin/check_live && /root/script.sh
답변2
crontab 파일에 넣는 것은 권장하지 않습니다. 대신 조건을 설정할 스크립트를 만든 다음 이를 crontab 파일에 넣으세요. 훨씬 더 깔끔하고 정리된 설정을 갖게 될 것입니다.