ความแตกต่างระหว่าง crontab ที่อยู่ใน/etc/crontabและ crontab ที่สามารถแก้ไขได้ใช้crontab -eคืออะไร?
ความแตกต่างระหว่าง crontab ที่อยู่ใน/etc/crontabและ crontab ที่สามารถแก้ไขได้ใช้crontab -eคืออะไร?
คำตอบ:
ดังที่อิกนาชิโอกล่าวว่า/etc/crontabเป็นระบบหน้ากว้าง
รูปแบบของ/etc/crontabเป็นดังนี้:
# m h dom mon dow user command
* * * * * someuser echo 'foo'
ในขณะที่crontab -eต่อผู้ใช้มันคุ้มค่าที่จะกล่าวถึงโดยไม่มี-uอาร์กิวเมนต์ที่คำสั่ง crontab ไปที่ผู้ใช้ปัจจุบัน crontab คุณสามารถทำได้crontab -e -u <username>เพื่อแก้ไขผู้ใช้เฉพาะ crontab
ประกาศใน crontab ต่อผู้ใช้ไม่มีฟิลด์ 'ผู้ใช้'
# m h dom mon dow command
* * * * * echo 'foo'
แง่มุมหนึ่งของ crontabs ที่อาจสร้างความสับสนคือรูทนั้นมี crontab ของตัวเองเช่นกัน เช่นcrontab -e -u rootจะไม่แก้ไข/etc/crontab ดูการกำหนดค่า cron
ใน distros Linux ส่วนใหญ่ผู้ใช้จะได้รับการจัดเก็บใน: /var/spool/cron/crontabs/<username>(vixie-cron)
RHEL /var/spool/cron/<username>กระจายตามจะถูกเก็บไว้ใน (cronie)
/var/spool/cron/rootรากของ crontab ต่อผู้ใช้บนระบบ RHEL 6 ยังไม่ได้ตรวจสอบ Ubuntu แต่การพูดว่า "โดยทั่วไป" ดูเหมือนจะยืดออกไปหน่อย
path[crontabs]ในไลบรารี "เส้นทาง" CFEngineและตรวจสอบบริบท (บรรทัดบริบทก่อนหน้านี้มีลักษณะเช่นredhat::) มีการเปลี่ยนแปลงมากกว่าที่คุณคิด เช่น SUSE /var/spool/cron/tabsทำให้พวกเขาใน (การสร้างความแตกต่างของ distro เป็นหนึ่งในเหตุผลที่ CFEngine ถูกสร้างขึ้นมาบ่อยครั้งดังนั้นจึงเป็นข้อมูลอ้างอิงที่ดี)
หนึ่งคือ crontab ของระบบและสามารถแก้ไขได้โดย root เท่านั้นส่วนอีกอันคือ crontab ของผู้ใช้และสามารถแก้ไขได้โดยผู้ใช้และมีอยู่ต่อผู้ใช้