На сеточном сервере Mediatemple я пытаюсь запустить это с помощью cron, установленного в панели управления:
usr/bin/python /home/xxxxx/html/sitemap_gen.py --config=/home/xxxxx/html/config.xml
Но я получаю сообщение об ошибке «python: не удается открыть файл '/home/95809/html/sitemap_gen.py': [Errno 2] Нет такого файла или каталога». Но файлы есть. MT требует пути, и без путей нет разницы в ошибке.
Я могу запустить его вручную из ssh:
python sitemap_gen.py --config=config.xml
и изменили сценарий для выполнения.
Есть ли другой способ запустить этот скрипт, который будет работать?
MT не имеет прямых примеров скриптов Python, запускаемых cron, и не предлагает поддержки.
Есть ли способ обернуть сценарий другим сценарием - например, сценарием bash - чтобы избавиться от необходимости включать пути или вызывать python, что, как я думаю, может быть проблемой?
Я бы предложил две вещи:
/home/xxxxx/html/sitemap_gen.py
РЕДАКТИРОВАТЬ: о, черт ... попробуйте использовать полный путь к python, поэтому, если исполняемый файл python находится в /usr/bin
это было бы : /usr/bin/python /home/xxx/html/sitemap_gen.py <blah blah blah>
Создайте фиктивный скрипт (просто распечатайте что-нибудь) и запустите его через crond. Возможно, у crond нет необходимых разрешений даже для чтения файла.
Вероятно, у вашего пользователя есть разрешения, поэтому он может его выполнить, но crond не