ฉันต้องการรหัสที่แน่นอนที่ฉันจะใช้เพราะฉันไม่สามารถเข้าใจได้ ฉันใช้crontab -e
เพื่อตั้งค่างาน cron แต่เมื่อฉันบันทึกไว้มันไม่ทำงาน ฉันแค่พยายามเรียกใช้ไฟล์ที่เรียกnewmail.sh
จากผู้ใช้รูท
ฉันต้องการรหัสที่แน่นอนที่ฉันจะใช้เพราะฉันไม่สามารถเข้าใจได้ ฉันใช้crontab -e
เพื่อตั้งค่างาน cron แต่เมื่อฉันบันทึกไว้มันไม่ทำงาน ฉันแค่พยายามเรียกใช้ไฟล์ที่เรียกnewmail.sh
จากผู้ใช้รูท
คำตอบ:
หากคุณต้องการให้งานรันทุกวันเวลา 15:17 น. คุณจะใช้:
17 15 * * * root newmail.sh
สิ่งนี้บอกว่า "เรียกใช้ newmail.sh เหมือนรากทุกวันในสัปดาห์ทุกวันของเดือนทุกเดือนเวลา 15:17 น."
นาทีชั่วโมง dom เดือน dow ผู้ใช้ cmd
นาที - สิ่งนี้จะควบคุมว่าคำสั่งจะทำงานในนาทีใดและอยู่ระหว่าง '0' ถึง '59'
ชั่วโมง - สิ่งนี้จะควบคุมเวลาที่คำสั่งจะทำงานและระบุไว้ในนาฬิกา 24 ชั่วโมงค่าต้องอยู่ระหว่าง 0 ถึง 23 (0 คือเที่ยงคืน)
Dom - นี่คือวันของเดือนที่คุณต้องการให้คำสั่งทำงานบนเช่นในการเรียกใช้คำสั่งในวันที่ 19 ของแต่ละเดือน Dom จะเป็น 19
เดือนนี่คือเดือนที่คำสั่งที่ระบุจะทำงานในอาจเป็นตัวเลขที่ระบุ (0-12) หรือเป็นชื่อของเดือน (เช่นพฤษภาคม)
dow - นี่คือวันของสัปดาห์ที่คุณต้องการให้รันคำสั่งมันอาจเป็นตัวเลข (0-7) หรือเป็นชื่อของวัน (เช่นดวงอาทิตย์)
user - นี่คือผู้ใช้ที่รันคำสั่ง
cmd - นี่คือคำสั่งที่คุณต้องการเรียกใช้ ฟิลด์นี้อาจมีหลายคำหรือเว้นวรรค
จาก: http://www.unixgeeks.org/security/newbie/unix/cron-1.html
sudo crontab -e
เพิ่มบรรทัดเหล่านี้ในตอนท้ายของไฟล์
*/1 * * * * wget -O /dev/null project_crone_URL
(เรียกใช้ cron ต่อหนึ่งครั้งใน 1 นาที)
0 0 * * * wget -O /dev/null project_crone_URL
(เรียกใช้ cron ต่อครั้งใน 24 ชั่วโมง)
บันทึกไฟล์
เริ่ม crontab โดยคำสั่งนี้
sudo /etc/init.d/cron start
หยุด crontab โดยคำสั่งนี้
sudo /etc/init.d/cron stop
รีสตาร์ท crontab โดยคำสั่งนี้
sudo /etc/init.d/cron restart
หากคุณใช้crontab -e
ตั้งแต่Ubuntu 16.0+จะไม่มีฟิลด์ผู้ใช้ดังนั้นรูปแบบที่ถูกต้องคือ:
17 15 * * * newmail.sh
สิ่งนี้บอกว่า "เรียกใช้ newmail.sh ทุกวันตลอดสัปดาห์ทุกวันของเดือนทุกเดือนเวลา 15:17 น."
วิธีอื่น ๆคำตอบของ dm78นั้นถูกต้องและมีคำอธิบายที่ถูกต้องของรูปแบบ
นอกจากนี้หากมีข้อผิดพลาดเกิดขึ้นและคุณติดตั้งระบบอีเมลระบบจะส่งข้อความถึงคุณ สำหรับข้อมูลเพิ่มเติมดูคำตอบนี้
หากคุณสนใจในการบันทึกของ cronjobs คุณสามารถใช้คำตอบนี้
crontab -e
thingy ไม่ได้มีข้อมูลผู้ใช้ (ตามที่คุณได้อย่างถูกต้องกล่าวว่า) แต่ไฟล์/etc/crontab
(คน socalled ระบบ crontab) และไฟล์ดังต่อไปนี้/etc/cron.d
ทำมีข้อมูลผู้ใช้