Tôi có một nhiệm vụ crontab hàng ngày:
50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1
Tập lệnh shell Daily_task này sẽ chạy một số tập lệnh python và tạo ra một tệp dữ liệu.
Và nó thất bại trong hai đêm. Nhưng khi tôi đến vào buổi sáng, chạy các kịch bản python bằng tay, tôi đã nhận được tệp dữ liệu. Hoặc tôi đặt một crontab mới chỉ đặt ngày 0 10 * * *
và crontab này cũng thành công.
Vì vậy, ngày hôm qua, tôi đã đưa > /tmp/zen_log 2>&1
vào tác vụ cron để nhận được một số thông báo lỗi.
Và sáng nay, tôi nhận được thông báo lỗi này trong zen_log:
/my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
Có vẻ như một số quá trình đã bị giết? Nhưng chính xác điều này line 19: 12364 Killed
có nghĩa là gì?
Tái bút
Hôm nay, một phút trước, khi tôi tự chạy kịch bản python, tôi đã nhận được:
/usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
Killed
line 19
là/usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
daily_task.sh
? Thật khó để hiểu tại sao nó thất bại xung quanh 1:50 am
nhưng thành công 10 am
với thông tin cho đến nay.
/var/log/messages
tôi tự hỏi nếu tập lệnh của bạn đang tạo ra lỗi hết bộ nhớ (OOM) và bị giết. Hệ thống của bạn có xu hướng chạy các kịch bản / ứng dụng / công việc đói tài nguyên hệ thống khác trong giờ khuya so với giờ AM không?
line 19
trong kịch bản? Có thể đăng kịch bản của bạn sẽ giúp chúng tôi cung cấp cho bạn một câu trả lời.