Điểm:0

chạy lệnh bash bên trong một công việc định kỳ trong Ubuntu

lá cờ cn

Tôi có một máy chủ chạy Ubuntu và tôi muốn tạo một công việc định kỳ chạy hàng giờ, chi tiết là tôi muốn cron này thực thi lệnh bash trong một đường dẫn cụ thể, đây sẽ là một ví dụ về lệnh của tôi Sudo bash/đường dẫn/tệp , vì vậy công việc định kỳ của tôi sẽ chạy mỗi giờ, có thể thực hiện việc này trong một công việc định kỳ không?, mọi trợ giúp đều được đánh giá cao

terdon avatar
lá cờ cn
Tại sao bạn cần `sudo`? Kịch bản này làm gì? Bạn không thể sử dụng `sudo` trong cron, nhưng để đưa ra giải pháp hiệu quả, chúng tôi cần hiểu liệu nó có thực sự cần thiết hay không.
lá cờ cn
Bạn sẽ muốn đọc [`man 5 crontab`](https://manpages.ubuntu.com/manpages/focal/en/man5/crontab.5.html) để tìm hiểu về định dạng. Và thực hiện `sudo crontab -e` để chỉnh sửa crontab của **root** thay vì đặt sudo vào crontab của bạn.
Điểm:1
lá cờ es

Điều đó là hoàn toàn có thể. Chỉ cần thêm mục vào tệp crontab với crontab -e sử dụng đúng người dùng. Bạn cũng có thể di chuyển tập lệnh của mình tại /etc/cron.hourly. Chỉ cần đếm các tệp bash bên dưới /etc/cron.hourly sẽ chạy theo nguồn gốc. Nếu bạn muốn chạy tập lệnh của mình dưới người dùng mục tiêu, hãy sử dụng phương pháp crontab và đảm bảo cung cấp đường dẫn tuyệt đối cho tập lệnh của bạn và người dùng của bạn có thể thực thi tập lệnh. ví dụ

@hourly /my/bash/script.sh
#hoặc
0 * * * * /my/bash/script.sh
lá cờ cn
cảm ơn vì đã trả lời, tôi có một số nghi ngờ. Làm cách nào tôi có thể di chuyển tập lệnh của mình sang thư mục /etc/cron.hourly, nếu tôi muốn nó chạy với quyền root hoặc cách thực hiện nào hiệu quả hơn cho trường hợp này? Và một câu hỏi khác, lệnh của tôi sử dụng bash, tôi có phải đặt đường dẫn tuyệt đối tới bash và cả tệp mà tôi muốn thực thi không?
Javier Galarza avatar
lá cờ es
Bạn có thể cung cấp lệnh hoặc tập lệnh mà bạn muốn chạy trong cron không?
lá cờ cn
Đó là một lệnh thực thi một tệp để xóa bộ đệm, tôi thực hiện nó theo cách sau trong thư mục trên web của tôi, nơi tệp được cho là "sudo bash ss-purge-opcache"
Javier Galarza avatar
lá cờ es
Chỉ cần tạo một tệp tại `/etc/cron.hourly` : `touch /etc/cron.hourly/update.cache` và đặt lệnh đó bên trong tệp đó. Bạn không cần sử dụng `sudo` vì tập lệnh đó sẽ chạy với quyền root. Ngoài ra, hãy cung cấp đúng quyền `chmod a+x /etc/cron.hourly/update.cache`. Bạn có thể cần cung cấp đường dẫn tuyệt đối, nếu đúng như vậy, hãy tìm đường dẫn tuyệt đối của lệnh với ` which ss-purge-opcache`

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.