Задать вопрос
@IgorPosmashny
недоjunior python developer

Как настроить cron, gsutil и subrocess?

Не могу запустить через cron команду
gsutil cp /home/ubuntu/data.json gs://project/data.json
которая в свою очередь запускается через subprocess.

$ crontab -e
*/1 * * * * /usr/bin/python /home/ubuntu/ex.py > home/ubuntu/cronlog.txt 2>&1 >/dev/null 2>&1


Вычитал в гугле что cron не видит переменные среды поэтому для теста написал такой кусок кода:

from subprocess import call

PATH="/home/ubuntu/lib/google-cloud-sdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
BOTO_CONFIG="/home/ubuntu/.config/gcloud/legacy_credentials/email/.boto"

call('gsutil cp /home/ubuntu/data.json gs://project/data.json', shell=True)


Но при этом subrocess через cron не выполняет команду gsutil, в лог ничего не пишется.
Если запускать скрипт ручками, то все отлично работает.
В чем проблема?
  • Вопрос задан
  • 307 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@anelyubin
Попробуй прописать полный путь к команде gsuitil. Ну то есть, cron не знает, где эта утилита находится и не может её выполнить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы