Tôi đã xem xét các câu hỏi tràn ngăn xếp khác nhưng không thể thực hiện bất kỳ thao tác nào. Tôi có một kịch bản python trong đó sử dụng các biến môi trường. Kịch bản này hoạt động chính xác như kế hoạch khi chạy trực tiếp tuy nhiên, tôi muốn chạy nó như một công việc cron mỗi phút trong thời gian này.Biến môi trường khi tập lệnh python chạy bởi cron
Hiện nay trong thư mục cron.d của tôi, tôi có một tập tin gọi là chọc chứa:
* * * * * root /usr/bin/python3.5 /code/scraper.py
này chạy các script python nhưng kịch bản thất bại như trong kịch bản tôi sử dụng hai biến môi trường.
Tôi đã đọc tôi nên thêm SHELL =/bin/bash vào tệp cron vì vậy tôi đã làm nhưng điều này không giúp ích gì.
SHELL=/bin/bash
* * * * * root /usr/bin/python3.5 /code/scraper.py
Sau đó, tôi đọc
Trong crontab, trước khi bạn lệnh, thêm. $ HOME/.profile.
SHELL=/bin/bash
* * * * * . $HOME/.profile; root /usr/bin/python3.5 /code/scraper.py
nhưng điều này gây ra cron để ngừng chạy hoàn toàn. Cách tốt nhất để 'gửi' các biến env cho cron là gì?
thử thêm 'source ~/.bashrc && command' hoặc tệp nơi các biến env của bạn được khai báo và xem nó có hoạt động hay không. – franklinsijo
@franklinsijo Xin lỗi, tôi không chắc mình nên làm gì. Các biến env được khai báo trong tệp docker-compose khi thiết lập các thùng chứa. –
và các biến đó là những biến được sử dụng bởi scraper.py? – franklinsijo