LINUX.ORG.RU

Не работает скрипт в CronTab

 , , , ,


0

3

Здравствуйте, проблема в теме.

Запись в кроне:

* * * * * ~/test.sh

Скрипт:

#!/bin/bash
/usr/bin/screen -S T -X eval 'stuff "say Hello"\015'

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

journalctl -e выдает вот такое:

Aug 28 18:29:01 s819 CRON[4524]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 28 18:29:01 s819 CRON[4525]: (root) CMD (~/test.sh)
Aug 28 18:29:01 s819 CRON[4524]: pam_unix(cron:session): session closed for user root

os: Debian-8-x86_64

Новичок, не совсем разбираюсь. Помогите пожалуйста!

Находится в корневой папке

Что это значит?

Что значат символы «~/» знаешь?

В каком файле прописана конфигурация крон?

infomeh ★★
()

В кроне используй полные пути

das_tier ★★★★★
()
Ответ на: комментарий от infomeh

Не совсем понял что значит «В каком файле прописана конфигурация крон?». Использую:

crontab -e
Тут пишу следующее:
* * * * * /root/test.sh
Сохраняю.

SilverFalconi
() автор топика

У крона может быть свой долг в /var/log/, посмотри там. Но вообще большинство проблем с кроном из-за неиспользования абсолютных путей и непонимания того, что у крона и его заданий $PATH не такой как у пользователя.

legolegs ★★★★★
()

А какой результат вообще ожидается?

вручную выполняется без проблем

Видимо, он и здесь выполняется без проблем, просто не так, как ты ожидаешь?

das_tier ★★★★★
()
Ответ на: комментарий от das_tier

Это сообщение в консоль игрового сервера. Say <текст> - отправляет сообщение от имени сервера

SilverFalconi
() автор топика

Попробуй так:

* * * * * /bin/bash /root/test.sh 2>> /tmp/test.log
или так:
* * * * * /bin/bash /root/test.sh 1>> /tmp/test.log
В test.log посмотришь чем там скрипт занимался.

Bootmen ☆☆☆
()
Ответ на: комментарий от SilverFalconi

Можно попробовать импортировать переменные окружения пользователя, чтобы убедиться не в них ли дело

Дампнуть в файл:

env > /tmp/user-env

И использовать из крона:

* * * * * source /tmp/user-env ; /root/test.sh

justfdot
()
Ответ на: комментарий от funky

Тогда уж:

Кто по вашему >> и 2>&1 обрабатывает? crond? Ладно бы -x добавили для отладки, было б понятно, почему /bin/bash ...

vodz ★★★★★
()
Ответ на: комментарий от Bootmen

Большое спасибо! Так сработало. А в моих вариантах выдавали сообщения в лог, «не найдено». Проблема была в неверно указанном путе к нему, скорее всего... Тема закрыта! Всем спасибо!

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