Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Необычное поведение скрипта в cron / терминал  (Прочитано 798 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн chester_+1

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Доброго времени суток. Наблюдаю странное поведение скрипта при запуске. В терминале все исправно выполняется, а в cron вызываемая при работе программа отказывается работать.

Скрипт занимается конвертацией сериалов для планшета, с авто конфигурированием и сохранением структуры каталогов. По порядку:
1. В папку INPUT кладу симлинк на каталог с сериалом
2. Далее скрипт ищет внутри файлы и зеркалирует каталоги (плюс еще несколько плюшек, которые к сути не относятся).
3. Теперь в дело вступает mediainfo, который выдает параметры видеофайла.
4. Конфигурирование в соответствии с данными mediainfo.
5. Конвертирование с помощью ffmpeg
6. Проверка размера и продолжительности вызодного файла, перенос из TMP в DONE.
7. Все действия пишутся в лог.

Cкрипт запускается в крон таким образом:
screen -d -m -A -U -S ffmpeg-d-dir /usr/local/bin/ffmpeg-d d
Проблема заключается в том, что когда я запускаю скрипт в терминале - все работает идеально, а вот в cron'е mediainfo отказывается работать. Вообще никакого выхлопа от mediainfo. Стал разбираться, экспериментировать. Оказалось, что если в INPUT положить папку, а не симлинк, программа при запуске по планировщику дает характеристики видеофайла.

Ситуация странная. Никогда с таким не сталкивался. Может есть некий ключ, который решит проблему? Помогите разобраться...

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Если работает в терминале, но не работает в cron значит смотрите переменные окружения. Обычно проблемы бывают из-за отсутсвия в cron языковых переменных.

Что касается симлинка, то единственное что приходит в голову, это что симлинк имеет не абсолютный путь, а относительный.

Axa-Ru

  • Гость
от чьего имени запускается задача cron ?
Покажите всю строку crontab.

Оффлайн chester_+1

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Axa-Ru
От обычного пользователя. Тут как раз не должно было быть проблем, всем сторонним программам не нужен рут/привилегии, запись идет на флешку + о правах позаботился. Рядом крутится такой же скрипт, но без зеркалирования папок, рабочий. Это еще больше вогнало в ступор.
 
Vitsliputsli
Спасибо! Направили по правильному пути. Дело было действительно в языке, причем проблема не нова. Странно, что не додумался сам, была аналогичная проблема с subsonic.

Остальным, кто найдет этот пост. Для решения нужно добавить в начало:
LC_ALL=en_US.UTF-8
export LC_ALL
И mediainfo начинает наконец отдавать информацию.

 

Страница сгенерирована за 0.029 секунд. Запросов: 25.