Tôi có hai PC chạy Ubuntu 18.04 LTS. Chúng được tạo từ cùng một hình ảnh cơ sở linux. Gần đây tôi phát hiện ra rằng trên một trong hai hộp, tôi không thể sử dụng crontab để xem hoặc chỉnh sửa các bảng cron của từng người dùng.
ServerB đang đưa ra lỗi này với tư cách là bất kỳ người dùng nào, kể cả root:
$ crontab -l
crontab: lỗi sử dụng: chỉ cho phép một thao tác
cách sử dụng: tệp crontab [-u user]
crontab [ -u người dùng ] [ -i ] { -e | -l | -r }
(hoạt động mặc định là thay thế, theo 1003.2)
-e (chỉnh sửa crontab của người dùng)
-l (liệt kê crontab của người dùng)
-r (xóa crontab của người dùng)
-i (nhắc trước khi xóa crontab của người dùng)
Lúc đầu, tôi nghĩ rằng một quy trình đang chạy có thể đã khóa cron, nhưng sự cố vẫn tiếp diễn sau khi khởi động lại hoàn toàn máy chủ.
Nghiên cứu trực tuyến này chỉ cho thấy rằng một số quản trị viên đã chọn biên dịch lại crontab để loại bỏ cờ "xóa". Đó không phải là trường hợp ở đây.Lệnh crontab này đi kèm với O/S và giống với lệnh trên máy chủ đang hoạt động.
Cũng không có tin nhắn nào trong /var/log/syslog
hoặc trong /var/log/cron.log
để chỉ ra lý do tại sao nó có thể thất bại. crontab -e
hoặc crontab -l
cả hai đều trả về lỗi ở trên.
Đây là /usr/bin/crontab từ cả máy chủ đang hoạt động và máy chủ gặp sự cố. Ngày và kích cỡ giống hệt nhau.
-rwxr-sr-x 1 gốc crontab 39352 ngày 16 tháng 11 năm 2017 /usr/bin/crontab
-rwxr-sr-x 1 gốc crontab 39352 ngày 16 tháng 11 năm 2017 /usr/bin/crontab
$ diff -s crontab.serverA crontab.serverB
Các tệp crontab.serverA và crontab.serverB giống hệt nhau
Cuối cùng, quyền và quyền sở hữu giống hệt nhau trên cả hai máy chủ cho /var/spool/cron
đường dẫn và tập tin.
Tôi chỉ có thể thêm bất kỳ mục nhập nào vào tệp/etc/crontab cho người dùng đã chọn, nhưng chỉ cố gắng hiểu tại sao lỗi này lại xuất hiện ngay từ đầu. Có một số loại tệp khóa bị bỏ lại ở đâu đó có thể gây ra điều này không?