Назад | Перейти на главную страницу

Задание Cron: [Errno 2] Нет такого файла или каталога

На сеточном сервере 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, что, как я думаю, может быть проблемой?

Я бы предложил две вещи:

  1. Попробуйте запустить команду вручную в командной строке, если у вас есть доступ
  2. Убедитесь, что у вашего пользователя есть разрешения на выполнение файла. /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 не