Điểm:1

Công việc định kỳ không chạy trên Ubuntu 20.04.2 LTS

lá cờ cl

Tôi đã tạo một công việc Cron để chạy tập lệnh kiểm tra xem một quy trình có đang chạy hay không, trong trường hợp nó chỉ in ra rằng quy trình đang chạy, nếu không nó sẽ in ra quy trình không chạy và khởi động lại quy trình:

#!/bin/sh

DỊCH VỤ="start_server.py"
nếu ps -ef | grep "$DỊCH VỤ" | grep -v grep >/dev/null
sau đó
    tiếng vang "start_server.py đang chạy"
khác
    tiếng vang "start_server.py đã dừng"
    python2.7 start_server.py &
fi

Là người dùng Ubuntu, tôi đã tạo công việc định kỳ sau bằng cách chạy - crontab -e

* * * * * /home/ubuntu/mislaka/check_ process.sh 2>&1 /home/ubuntu/mislaka/script_log.log

Vì lý do nào đó, nó không hoạt động hoặc ghi đầu ra vào tệp nhật ký.

Đã thử khởi động lại dịch vụ định kỳ, thử tạo công việc định kỳ với quyền root, thay đổi tất cả quyền và người dùng đang chạy tập lệnh nhưng không có gì hoạt động.

Kịch bản nếu tôi tự chạy nó sẽ hoạt động như mong đợi.

Phiên bản Ubuntu:

Không có mô-đun LSB nào khả dụng.
ID nhà phân phối: Ubuntu
Mô tả: Ubuntu 20.04.2 LTS
Phát hành: 20.04
Tên mã: tiêu cự

Cảm ơn trước

lá cờ uz
Jos
Chuyển hướng của bạn là sai. Thay `2>&1` bằng `>>` và thêm `2>&1` vào cuối.
FedKad avatar
lá cờ cn
Hoặc thay thế `2>&1` bằng `&>>`.
lá cờ in
"Là người dùng Ubuntu, tôi đã tạo công việc định kỳ sau" có thể là một vấn đề vì công việc định kỳ sẽ chỉ chạy khi người dùng đó đăng nhập. Nói chung, các loại công việc này được thực hiện dưới dạng `root`: `sudo crontab -e `
lá cờ hr
@FedonKadifeli afaik sẽ chỉ hoạt động nếu họ đặt `SHELL=/bin/bash` trong crontab (mặc định là `/bin/sh`)
lá cờ hr
@matigo afaik điều đó không đúng - cron chạy dưới dạng daemon và người dùng không cần phải đăng nhập để đọc crontab của họ
Avihai avatar
lá cờ cl
@guiverc Xin lỗi vì đã bỏ lỡ thông tin: Không có mô-đun LSB nào khả dụng. ID nhà phân phối: Ubuntu Mô tả: Ubuntu 20.04.2 LTS Phát hành: 20.04 Tên mã: tiêu cự
rattkin avatar
lá cờ fm
Nếu bạn muốn giải pháp đã được chứng minh và đáng tin cậy, hãy xem phần mềm giám sát như monit. Nó được cấu hình bởi một tệp ext đơn giản và nó có thể xem quá trình của bạn và khởi động lại nó, gửi e-mail. Nó cũng có thể xem dung lượng đĩa trống, nếu đĩa đầy, đó là nguồn gốc của nhiều vấn đề có thể xảy ra trong quá trình sản xuất.
Avihai avatar
lá cờ cl
@guiverc Tôi đã thay đổi tiêu đề theo đề xuất
Điểm:1
lá cờ it

Công việc chạy qua cron, hoặc hệ thống tập lệnh khởi động không chạy trong cùng một môi trường thời gian chạy mà bạn có trên máy tính để bàn của mình. hệ thống kịch bản khởi động được chạy như nguồn gốc. Không ai trong số bạn CON ĐƯỜNG các thay đổi hoặc cài đặt biến môi trường khác sẽ tự động được truyền tới cron Công việc. Ví dụ, không có $HIỂN THỊ, vì vậy các chương trình GUI cần được xử lý đặc biệt (đọc người đàn ông xhost).

Người ta có thể đặt các biến môi trường cho tất cả mọi người cron công việc trong crontab tập tin Đọc người đàn ông 5 crontab.

Nhìn vào kết quả của echo "=== id ==="; id;echo "=== set ==="; set; echo "=== env ==="; env | sort;echo "=== bí danh ==="; bí danh trong mỗi môi trường của bạn.

Kể từ khi chỉ huy một phần của crontab theo mặc định, dòng được giải thích bởi /bin/sh, có cú pháp đơn giản hơn /bin/bash, tôi khuyên bạn nên có chỉ huy là một cuộc gọi đến một đánh đập tập lệnh (có thể thực thi, được gắn kết, bắt đầu bằng #!/bin/bash) thiết lập môi trường, sau đó gọi chương trình mong muốn.

Avihai avatar
lá cờ cl
Tôi đã bắt đầu với/bin/bash và nó cũng không hoạt động.
Điểm:0
lá cờ cl

Vấn đề là tôi cần thay đổi tập lệnh của mình và chỉnh sửa công việc định kỳ để chạy đúng tập lệnh và thêm đường dẫn đầy đủ vào tập lệnh.

Đă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.