Mỗi người dùng đều có cái riêng crontab
.
Để xem nó chỉ cần gõ
crontab -l
và, vâng, bạn đã thấy nó đúng, khi bạn muốn thêm crontab
thì chỉ cần làm
crontab -e
lần đầu tiên bạn sẽ được hỏi về trình chỉnh sửa để sử dụng crontab
. Như bạn là một người mới như bạn nói, tôi khuyên bạn nên sử dụng nano, đây là trình chỉnh sửa đơn giản nhất để sử dụng.
Bản thân crontab hoạt động như thế này
MIN = Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW = Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line
Vì vậy, ví dụ để kích hoạt công việc cứ sau 15 phút vào thứ hai, bạn làm như vậy
*/15 * * * mon /home/me/yourscript.sh
và CÓ, điều rất quan trọng là bạn đặt cronjob của mình vào crontab của người dùng có đủ quyền để thực hiện nó.
Vì vậy, nếu tập lệnh của bạn cần được root hoặc một người dùng đặc biệt, hãy đảm bảo su cho người dùng đó và thêm cronjob vào đó.
Cũng rất quan trọng!
cronjob là ngu ngốc! Có tôi đã nói nó. Luôn đảm bảo nhập PATH đầy đủ cho application/command/script
bạn đang sử dụng, vì crontab sẽ không hoạt động với .bashrc
hoặc tương tự. Bạn luôn phải đảm bảo rằng bạn nói với cron nơi nó có thể tìm thấy các tệp và thư mục.
Để trả lời các câu hỏi còn lại của bạn:
Tất nhiên nó sẽ tự chạy, đó là những gì nó có. Nhưng bạn cần kiểm tra xem cronjob có thực sự làm được không, hoặc nếu nó thiếu thứ gì đó. Ví dụ, đăng nhập vào một logfile để xem nó có thực sự hoạt động không.
Và KHÔNG, khởi động lại là không cần thiết. Khởi động lại với linux thường chỉ cần thiết, nếu bạn cài đặt kernel mới. Để sử dụng, bạn cần khởi động lại. Hầu hết mọi thứ khác có thể được thực hiện mà không cần khởi động lại trong Linux. Tất nhiên có những trường hợp ngoại lệ, nhưng nói chung tuyên bố này là chính xác.
crontab -e
cho phép bạn chỉnh sửa crontab người dùng của bạn mà không cần sudo. Các crontabs của người dùng nằm trong/var/spool/cron/crontabs
đó là một thư mục không thể truy cập được nếu không có sự cho phép của siêu người dùng (nhưng theo cách mà một khi cron bỏ đặc quyền thì nó vẫn có thể đọc được). Ngay cả khi bạn sử dụng sudo để thử và chỉnh sửa tệp trực tiếp, bạn vẫn thấy một cảnh báo lớn ở trên cùng, "KHÔNG CHỈNH SỬA NÀY" - tệp được thiết kế để được chỉnh sửa bằngcrontab
lệnh sử dụng bản sao tạm thời/tmp
và sau đó cài đặt nó sau khi bạn tiết kiệm