Điểm:0

Tập lệnh Bash trong Cron không chạy Tập lệnh Python trên Ubuntu 20.04.2 LTS

lá cờ cl

Tôi có một máy chủ Ubuntu 20.04.2 LTS mà tôi chạy một vài tập lệnh python.

Tôi đã tạo một cronjob để chạy tập lệnh bash để kiểm tra xem tập lệnh python của tôi có đang chạy không:

#!/bin/sh
#!/bin/python2.7


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" >> /home/ubuntu/mislaka/script_log.log
khác
        python2.7 /home/ubuntu/mislaka/start_server.py &
    tiếng vang "start_server.py đã dừng" >> /home/ubuntu/mislaka/script_log.log
fi

Đây là cấu hình cronjob:

* * * * * /home/ubuntu/mislaka/check_ process.sh

Khi kiểm tra tệp nhật ký, tôi có thể thấy nó đang thêm các lệnh echo vào tệp nhưng nó không khởi động tập lệnh python.

Nếu tôi chạy tập lệnh của mình bên ngoài cronjob thì nó sẽ hoạt động như mong đợi.

Sẽ đánh giá cao bất kỳ sự giúp đỡ.

Cảm ơn bạn!

Điểm:0
lá cờ cl

Tìm ra vấn đề của tôi là gì. Thay vì viết lệnh của tôi dưới câu lệnh khác trong một dòng, tôi đã viết nó thành hai dòng:

tiếng vang "start_server.py đã dừng" >> /home/ubuntu/mislaka/script_log.log && python2.7 start_server.py &

Điều này đã khắc phục sự cố của tôi.

bac0n avatar
lá cờ cn
Điều đó khó xảy ra, điều duy nhất thay đổi là thứ tự dòng được thực thi, tôi nghi ngờ bạn đang thiếu đường dẫn đến `start_server.py`
Điểm:0
lá cờ ng

Có một số khác biệt giữa bash và sh shell. Nếu bạn đang sử dụng bash, bạn nên sử dụng:

#!/bin/bash

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