ฉันมีพีซีสองเครื่องที่ใช้ Ubuntu 18.04 LTS พวกมันถูกสร้างขึ้นจากอิมเมจพื้นฐาน linux เดียวกัน เมื่อเร็ว ๆ นี้ฉันค้นพบว่าหนึ่งในสองกล่อง ฉันไม่สามารถใช้ crontab เพื่อดูหรือแก้ไขตาราง cron ของผู้ใช้แต่ละคนได้
ServerB ให้ข้อผิดพลาดนี้กับผู้ใช้รวมถึงรูท:
$ crontab -l
crontab: ข้อผิดพลาดในการใช้งาน: อนุญาตการดำเนินการเดียวเท่านั้น
การใช้งาน: ไฟล์ crontab [-u user]
crontab [ -u ผู้ใช้ ] [ -i ] { -e | -l | -r }
(การดำเนินการเริ่มต้นคือแทนที่ ต่อ 1,003.2)
-e (แก้ไข crontab ของผู้ใช้)
-l (รายการ crontab ของผู้ใช้)
-r (ลบ crontab ของผู้ใช้)
-i (แจ้งก่อนที่จะลบ crontab ของผู้ใช้)
ตอนแรกฉันคิดว่ากระบวนการทำงานอาจล็อก cron แต่ปัญหายังคงอยู่หลังจากรีบูตเซิร์ฟเวอร์ทั้งหมด
การหาข้อมูลออนไลน์นี้บ่งชี้ว่าผู้ดูแลระบบบางคนเลือกที่จะคอมไพล์ crontab ใหม่เพื่อกำจัดการตั้งค่าสถานะ "ลบ" นั่นไม่ใช่กรณีที่นี่คำสั่ง crontab นี้มาพร้อมกับ O/S และเหมือนกับคำสั่งบนเซิร์ฟเวอร์ที่ใช้งานได้
นอกจากนี้ยังไม่มีข้อความใน /var/log/syslog
หรือใน /var/log/cron.log
เพื่อแสดงว่าทำไมมันถึงล้มเหลว crontab -e
หรือ crontab -l
ทั้งสองส่งคืนข้อผิดพลาดด้านบน
นี่คือ /usr/bin/crontab จากทั้งเซิร์ฟเวอร์ที่ใช้งานได้และที่มีปัญหา วันที่และขนาดเหมือนกัน
-rwxr-sr-x 1 root crontab 39352 16 พ.ย. 2560 /usr/bin/crontab
-rwxr-sr-x 1 root crontab 39352 16 พ.ย. 2560 /usr/bin/crontab
$ diff -s crontab.serverA crontab.serverB
ไฟล์ crontab.serverA และ crontab.serverB เหมือนกัน
สุดท้าย สิทธิ์และความเป็นเจ้าของจะเหมือนกันบนเซิร์ฟเวอร์ทั้งสองสำหรับ /var/spool/cron
เส้นทางและไฟล์.
ฉันสามารถเพิ่มรายการใดๆ ไปยังไฟล์ /etc/crontab สำหรับผู้ใช้ที่เลือกได้ แต่แค่พยายามทำความเข้าใจว่าเหตุใดข้อผิดพลาดนี้จึงปรากฏขึ้นตั้งแต่แรก มีไฟล์ล็อคบางประเภททิ้งไว้ที่ไหนสักแห่งที่อาจทำให้เกิดสิ่งนี้หรือไม่?