LINUX.ORG.RU

Bash скрипт + Cron


0

0

Привет, ЛОР!
Есть проблема запуска скрипта по заданию из cron.

Сам скрипт

#!/bin/sh
IP=`wget -q -O - http://homer.meso.com/remoteip.php`
Path=/home/alex/.dc++/DCPlusPlus.xml
gr=`grep -c $IP $Path`
if [ $gr = 1 ]
then exit 0
else
sed -i '/<ExternalIp type="string">[0-9][0-9\.]*<\/ExternalIp>/s/[0-9][0-9\.]*/'$IP/ /home/alex/.dc++/DCPlusPlus.xml
killall linuxdcpp
sleep 25
linuxdcpp &
fi

Скрипт запускается, получает IP адрес и если он изменился, то записывает новый файл в конфиг LinuxDC и перезапускает его. Если запустить скрипт из консоли, то он работает нормально, LinuxDC запускается и работает. Но если запускать из cron, то LinuxDC завершается, но снова не запускается.

Строчка из /etc/crontab

0,15,30,45 * * * * alex /home/alex/.dc++/Script

Собственно вопрос — что нужно дописать в скрипт, чтобы LinuxDC запускался при запуске из cron?
Спасибо.

anonymous

>что нужно дописать в скрипт, чтобы LinuxDC запускался

полный путь к linuxdcpp

sdio ★★★★★
()

>Строчка из /etc/crontab

ну и кто пишет туда записи, которые должны лежать в /var/spool/cron ?

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

> полный путь к linuxdcpp

Ответ не верный. linuxdcpp - гуйное приложение, а потому ещё нужно прописать на каком дисплее запускать. Но я не помню как... Что то DISPLAY=0:0, или... да хз.

anonymous_num_0
()
Ответ на: комментарий от maloi

Точно, ещё одна ошибка. Нужно прописывать здесь:

sudo crontab -e

либо задания прописываются (по крайней мере в debian-like) в

/etc/crontab.d/[some]

Вообщем, красноглазо все это слишком.

man crontab

anonymous_num_0
()
Ответ на: комментарий от maloi

OK.

Вообщем:

crontab -e

И там пишешь:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * вообщем задание с полным путем до скрипта

Да, и скрипт при правильном выполнении должен молчать.

anonymous_num_0
()
Ответ на: комментарий от maloi

>тогда export DISPLAY=:0 && путь_к_скрипту

Все, теперь нормально запускается. Спасибо.

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