2013-03-18 2 views
-2

У меня есть скрипт bash, который вызывает другой скрипт python.Сценарий Bash не работает в cron-Python

Это не работает в cron из-за глобальной переменной python. Ниже приведен скрипт. Сценарий предназначен для записи журналов и перехода на Amazon s3. Когда мы запускаем скрипт из терминала, он будет работать. Но при запуске от cron он будет записывать содержимое тогда s3cmd, который является скриптом python, который он терпит неудачу. Может ли кто-нибудь помочь мне с настройкой глобальной переменной python на уровне cron.

#!/bin/bash 
cd /applications/java/tomcat-instance/foundation/logs/ 
sudo find /applications/java/tomcat-instance/foundation/logs/ -mtime +1 | xargs tar -czvPf tomcat_logs_`date +%Y%m%d`_`date +%H`.tar.gz 
/usr/bin/python s3cmd put /applications/java/tomcat-instance/foundation/logs/tomcat_logs_`date +%Y%m%d`_`date +%H`.tar.gz s3://merck-ghh-logs/preview/deliver$ 
sudo find /applications/java/tomcat-instance/foundation/logs/ -mtime +7 -exec rm {} \; 

ответ

1

Обеспечить полный путь к s3cmd-:

/usr/bin/python /path/to/s3cmd put .... 
+0

Я тоже пробовал, но не работал. –

+0

cron обычно отправляет почту при возникновении ошибки. Вы можете видеть какие-либо письма из cron? Пользователь, отправленный по электронной почте, будет таким же, как пользователь, который установит работу cron. – suspectus

+0

Я установил его как пользователь root 'sudo crontab -e'. Я столкнулся с такой же проблемой, когда я запускал другой скрипт, который был bash, но для этого нужны были другие аргументы. Тогда я положил его на вершину crontab, и он начал работать. Здесь его скрипт python и сценарий не работают. –

0

Cron Работа выполняется под корневым пользователей.

Я дал sudo в команде. Я заметил, что некоторые команды не будут выполняться, когда.

  1. Cronjob работает под управлением.
  2. Судо используется в нем.
Смежные вопросы