LINUX.ORG.RU

Cron + Perl


0

0

Запускаю перловый скрипт из крона строкой (от рута): */2 * * * * /usr/bin/perl /usr/local/traffic/store >/tmp/output В начале скрипта несколько команд которые перемещают файлы, в конце "print "Done!";" Всё что в `` он запускает, и в файле output обнаруживаю только done, хотя там должно быть не только это, как будто опускает все остальные команды. Может кто знает в чём дело?

anonymous

ко всем ли командам в `` установлена переменная окружения $PATH. По умолчанию в кроне она вообще не установлена, поэтому лучше писать полные пути к выполняемым в скрипте файлам

anonymous
()

Ээээ... А когда руками пускаешь - ты все это видишь? Давно перлом не занимался, но по моему оно тебе вывод и не должно отдать. Только через pipe и самому вывалить.

Nefer
()

Когда руками всё отлично пашет, а вот через крон никак

anonymous
()

Хмм... Попробуй в самом начале поставить переменную PATH как у тебя в шелле. Для эксперимента. Если заработает - проверяй где у тебя используются не полные пути. Опять же. Для эксперимента запусти скрипт не из текущей директории. А, например, из корня.

Nefer
()

Попробуй использовать в первой строке скрипта ключ -w, типа #!/usr/bin/perl -w ну и еще можно попробовать подобавлять в концах строк: || die "An error occured: $!"; Тогда если что не так, оно все сообщения об ошибках будет валить в почту тому чей кронтаб выполняет скрипт.

Susanin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.