Tôi cần mã chính xác mà tôi sẽ sử dụng vì tôi không thể tìm ra nó. Tôi sử dụng crontab -e
để thiết lập một công việc định kỳ nhưng khi tôi lưu nó, nó không bao giờ hoạt động. Tôi cũng đang cố chạy một tệp được gọi newmail.sh
từ người dùng root.
Tôi cần mã chính xác mà tôi sẽ sử dụng vì tôi không thể tìm ra nó. Tôi sử dụng crontab -e
để thiết lập một công việc định kỳ nhưng khi tôi lưu nó, nó không bao giờ hoạt động. Tôi cũng đang cố chạy một tệp được gọi newmail.sh
từ người dùng root.
Câu trả lời:
Nếu bạn muốn tác vụ chạy mỗi ngày vào lúc 3:17 chiều, bạn sẽ sử dụng:
17 15 * * * root newmail.sh
Điều này cho biết "chạy newmail.sh là root mỗi ngày trong tuần, mỗi ngày trong tháng, mỗi tháng vào lúc 3:17 chiều."
phút giờ dom tháng dow người dùng cmd
phút - Điều này kiểm soát phút nào trong giờ lệnh sẽ chạy và nằm trong khoảng '0' đến '59'
giờ - Điều này kiểm soát giờ nào lệnh sẽ chạy và được chỉ định trong đồng hồ 24 giờ, các giá trị phải nằm trong khoảng từ 0 đến 23 (0 là nửa đêm)
dom - Đây là ngày của tháng, mà bạn muốn lệnh chạy, ví dụ: để chạy lệnh vào ngày 19 mỗi tháng, thì dom sẽ là 19.
tháng Đây là tháng một lệnh được chỉ định sẽ chạy, nó có thể được chỉ định bằng số (0-12) hoặc là tên của tháng (ví dụ: tháng 5)
dow - Đây là Ngày trong tuần mà bạn muốn một lệnh được chạy, nó cũng có thể là số (0-7) hoặc là tên của ngày (ví dụ: mặt trời).
người dùng - Đây là người dùng chạy lệnh.
cmd - Đây là lệnh mà bạn muốn chạy. Trường này có thể chứa nhiều từ hoặc khoảng trắng.
từ: http://www.unixgeek.org/security/newbie/unix/cron-1.html
sudo crontab -e
Thêm những dòng này vào cuối tập tin
*/1 * * * * wget -O /dev/null project_crone_URL
(Chạy cron mỗi lần trong 1 phút)
0 0 * * * wget -O /dev/null project_crone_URL
(Chạy cron mỗi lần một lần trong 24 giờ)
lưu tập tin
Bắt đầu crontab bằng lệnh này
sudo /etc/init.d/cron start
Dừng crontab bằng lệnh này
sudo /etc/init.d/cron stop
Khởi động lại crontab bằng lệnh này
sudo /etc/init.d/cron restart
Nếu bạn sử dụng crontab -e
vì Ubuntu 16.0+ sẽ không có trường người dùng, vì vậy định dạng chính xác là:
17 15 * * * newmail.sh
Điều này nói "chạy newmail.sh mỗi ngày trong tuần, mỗi ngày trong tháng, mỗi tháng vào lúc 3:17 chiều."
Các cách khác câu trả lời của dm78 là chính xác và chứa mô tả chính xác của định dạng.
Ngoài ra nếu có sự cố và bạn đã cài đặt hệ thống thư, nó sẽ gửi cho bạn một tin nhắn. Để biết thêm thông tin xem câu trả lời này
Nếu bạn quan tâm đến việc đăng nhập cronjobs, bạn có thể sử dụng câu trả lời này .
crontab -e
thingy không có một lĩnh vực sử dụng (như bạn nói chính xác) nhưng các tập tin /etc/crontab
(các cái gọi là hệ thống crontab) và các tập tin dưới đây /etc/cron.d
làm có một trường người dùng.