kenneth@ballotreport:~$ crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
* * * * * /usr/bin/pgrep -f /var/www/whatapp/send_messages_out_cron.sh > /dev/null 2> /dev/null || /var/www/whatapp/send_messages_out_cron.sh >> /tmp/testcronlog.log
파일이 /tmp/testcronlog.log
생성되지 않습니다. 이 명령은 터미널에서 실행될 때 완벽하게 작동합니다. 문제가 어디에 있는지 모르겠습니다.
답변1
이를 확인하거나 거부하는 문서를 찾을 수 없지만 cron 항목은 쉘 스크립트가 아니라는 점을 명심하십시오. 나는 논리가 그것을 허용하지 않는다고 가정합니다. 여러 인스턴스를 방지하기 위해 스크립트에 논리를 추가하거나(이것이 pgrep을 사용하는 이유라고 생각합니다) cron에서 예약할 래퍼 스크립트를 만듭니다.