Có sự khác biệt nào giữa 2 không?
Có, thực sự chúng khác nhau. Sự khác biệt là với sudo crontab -e
các lệnh được lập lịch với thông tin đăng nhập root
của người dùng. Vì vậy, các lệnh trong bảng cron của sudo được thực hiện như là người dùng root.
Nhưng với crontab -e
, các lệnh được lên kế hoạch với người sử dụng thường xuyên những người đang đăng nhập.
tôi nên đặt lệnh cron của tôi đâu, nó phải ở trong sudo hoặc không có sudo?
Vâng, câu trả lời cho điều này phụ thuộc vào loại lệnh bạn muốn chạy.
Nếu lệnh yêu cầu sudo
truy cập thì sudo crontab -e
sẽ được sử dụng.
Khác nếu lệnh cron không yêu cầu bất kỳ quyền đặc biệt nào thì sử dụng crontab -e
.
Ví dụ:
Nếu mạng ethernet giao diện eth0
nên bị vô hiệu hóa hoặc kích hoạt vào thời điểm cụ thể sau đó bạn sẽ sử dụng lệnh
ifconfig eth0 up
hoặc ifconfig eth0 down
Như các lệnh trên yêu cầu sự cho phép đặc biệt (sudo), các lệnh này được cho là được thêm vào sudo's
tab cron
Bất kỳ lệnh nào khác yêu cầu quyền tối thiểu hoặc không được phép xóa tệp khỏi tmp
thư mục như $ rm /tmp/somefile
sử dụng crontab của người dùng thông thường.
Nguồn
2017-04-05 17:28:11
Tôi nghĩ điều này thuộc về http://unix.stackexchange.com/ vì nó không liên quan đến lập trình. – Skynet
@Skynet oh, tôi hiểu rồi. vì vậy đó là lý do cho downvote của người khác? :( – PinoyStackOverflower
Tôi đoán Nhưng sau một chút nghiên cứu tôi phát hiện ra rằng câu hỏi này thực sự là một bản sao của câu hỏi này: http://serverfault.com/questions/817499/when-to-use-sudo-with-crontab (và nó tình cờ có một downvote quá) – Skynet