crontab
không có đối số đọc tệp crontab từ đầu vào tiêu chuẩn. Ví dụ: bạn có thể sử dụng:
echo "* * * * * run-this-every-minute" | crontab
Khi bạn đã ghi đè crontab của mình (nghĩa là crontab -l
không hiển thị gì), không có cách nào tốt để lấy lại.
Trên hệ thống của tôi (Ubuntu 11.04), các crontab cá nhân được lưu trữ trong /var/spool/cron/crontabs/<USER>
- nhưng đó là những gì bạn bị ghi đè, do đó sẽ không giúp ích gì cho bạn. (Đường dẫn có thể khác trên hệ thống của bạn.)
Tôi thấy các mục trong /var/log/syslog
cho các lệnh được thực hiện bởi cron
; bạn có thể xây dựng lại crontab của mình từ đó (hoặc tương đương với hệ thống của bạn, nếu có), nhưng nó sẽ rất tẻ nhạt.
Đây là những gì tôi làm để tránh loại vấn đề này:
Tôi giữ crontab của mình trong một tệp riêng biệt, được duy trì trong một hệ thống kiểm soát nguồn. Tôi cài đặt nó chỉ bằng cách chạy
crontab filename
Tôi không bao giờ sử dụng crontab -e
. Nếu tôi vô tình chặn crontab của mình, tôi có thể tải lại từ tệp. (Chà, hầu như không bao giờ; đôi khi tôi sử dụng crontab -e
để thực hiện các thay đổi tạm thời, biết rằng tôi có thể khôi phục phiên bản hiện tại sau này.)