ห้ามใช้ crontab -e
ฉันจะไม่ใส่มันในcrontab -e
ฐานะที่เป็นราก โดยทั่วไปจะไม่ค่อยชัดเจนสำหรับผู้ดูแลระบบรายอื่นและมีแนวโน้มที่จะหายไปตามกาลเวลา การใส่ไว้ใน/etc/crontab
คุณสามารถระบุเวลาที่คุณต้องการให้ทำงานและคุณสามารถระบุผู้ใช้อื่นได้เช่นกัน
สถานที่อื่น ๆ
หากคุณไม่สนใจเกี่ยวกับการเรียกใช้สคริปต์ในฐานะผู้ใช้รายอื่นและ / หรือคุณต้องการให้สคริปต์รันทุกสัปดาห์รายวันและอื่น ๆ การแจกแจงหลายครั้งจะมีไดเรกทอรีที่สามารถวางสคริปต์ที่จะประมวลผลโดยอัตโนมัติในเวลาที่กำหนด
ตัวอย่างเช่นภายใต้ Redhat ตาม distros:
$ ls -dl /etc/cron*
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.daily
-rw-------. 1 root root 0 Nov 23 07:42 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Nov 29 11:03 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.monthly
-rw-r--r--. 1 root root 457 Sep 26 2011 /etc/crontab
drwxr-xr-x. 2 root root 4096 Sep 26 2011 /etc/cron.weekly
ฉันมักจะใส่ crons ระดับระบบที่ฉันต้องการเรียกใช้ในเวลาที่กำหนด/etc/cron.d
แทน/etc/crontab
โดยเฉพาะอย่างยิ่งหากพวกเขามีสคริปต์ที่ซับซ้อนมากขึ้น
ฉันชอบใช้ไดเรกทอรีภายใต้/etc/cron*
เพราะพวกเขากำลังเป็นสถานที่ที่ชัดเจนมากขึ้นว่าผู้บริหารของระบบอื่น ๆ จะได้รู้ว่าจะมองและไฟล์ที่นี่สามารถจัดการได้ผ่านการติดตั้งแพคเกจเช่นและrpm
/ หรือapt
การปกป้องรายการ
ไดเรกทอรีใด ๆ ที่ฉันกล่าวถึงถูกกำหนดให้วางสคริปต์ที่จะไม่ถูกทำลายโดยผู้จัดการแพ็คเกจ หากคุณกังวลเกี่ยวกับการป้องกันรายการ crontab ฉันจะไม่ใส่มันลงใน/etc/crontab
ไฟล์อย่างแน่นอนและแทนที่มันจะเป็นสคริปต์ที่เหมาะสมในหนึ่งใน/etc/cron*
ไดเรกทอรี