ไวยากรณ์สำหรับรายการ crontab ดูถูกต้อง หากคุณแก้ไข crontab โดยใช้ " crontab -e
" (เท่าที่ควร) คุณจะได้รับข้อผิดพลาดหากคุณระบุรายการ crontab ที่ไม่ถูกต้อง
ประการแรก/path_to_my_php_script/info.php
ทำงานอย่างถูกต้องจากบรรทัดคำสั่งหรือไม่
ถ้าเป็นเช่นนั้นมันจะทำงานอย่างถูกต้องเช่นนี้หรือไม่:
/bin/sh -c "(export PATH=/usr/bin:/bin; /path_to_my_php_script/info.php </dev/null)"
หากใช้งานได้จะทำงานเช่นนี้หรือไม่
/bin/sh -c "(export PATH=/usr/bin:/bin; /path_to_my_php_script/info.php </dev/null >/dev/null 2>&1)"
ขั้นตอน (3) คล้ายกับวิธี cron จะเรียกใช้โปรแกรมของคุณ (ดังที่บันทึกไว้ใน "man 5 cron"
ปัญหาที่เป็นไปได้มากที่สุดที่คุณพบคือ PATH cron กำลังใช้เพื่อรันโปรแกรมของคุณนั้นเข้มงวดเกินไป ดังนั้นคุณอาจต้องการเพิ่มสิ่งต่อไปนี้ที่ด้านบนของรายการ crontab ของคุณ (คุณจะต้องเพิ่มในสิ่งที่ไดเรกทอรีสคริปต์ของคุณจะต้อง):
PATH=~/bin:/usr/bin/:/bin
โปรดทราบด้วยว่า cron จะใช้งานเป็นค่าเริ่มต้น/bin/sh
ไม่ใช่การทุบตี หากคุณต้องการทุบตีเพิ่มสิ่งนี้ลงในจุดเริ่มต้นของไฟล์ crontab ของคุณ:
SHELL=/bin/bash
ทราบว่าการเปลี่ยนแปลงทั้งเหล่านั้นจะส่งผลกระทบต่อทุกรายการ crontab หากคุณต้องการแก้ไขค่าเหล่านี้สำหรับinfo.php
โปรแกรมของคุณคุณสามารถทำสิ่งนี้:
*/2 * * * * /bin/bash -c ". ~/.bashrc; /path_to_my_php_script/info.php"
นอกจากนี้ยังมีมูลค่าการกล่าวขวัญว่าในระบบที่กำหนดค่าไว้สำหรับ "mail" (อีกนัยหนึ่งคือระบบที่มี MTA ที่กำหนดค่าไว้ [sendmail / postfix / etc]) เอาต์พุตทั้งหมดจากโปรแกรม crontab จะส่งถึงคุณทางอีเมลโดยอัตโนมัติ ระบบเดสก์ท็อปเริ่มต้นของ Ubuntu จะไม่มีการกำหนดค่าเมลในเครื่อง แต่ถ้าคุณกำลังทำงานบนเซิร์ฟเวอร์คุณสามารถพิมพ์ "mail" ในเทอร์มินัลเพื่อดูอีเมล cron ทั้งหมด นอกจากนี้ยังใช้กับat
คำสั่ง ""