Log in

Bekijk de volledige versie : Гуру помогите со скриптом ламеру



urtonic
12-03-2009, 19:57
Скрипт проверки rtorrent в процессах
Есть скрипт:
#!/bin/sh
# Определение rtorrent в процессах
ps -ax > /tmp/ps.log
if grep -a "rtorrent" /tmp/ps.log
then echo "torrent is running" >> /tmp/syslog.log
else /opt/etc/init.d/S99rtorrent start
echo "torrent is starting" >> /tmp/syslog.log
fi
При запуске из basha все пашет, но при добавлении этого скрипта в cron ps.log пустой. В чем проблема?

al37919
12-03-2009, 19:59
указывайте либо полные пути, либо PATH в начале файла

ABATAPA
12-03-2009, 20:22
Скрипт проверки rtorrent в процессах
Есть скрипт:
#!/bin/sh
# Определение rtorrent в процессах
ps -ax > /tmp/ps.log

"Встроенный" ps (busybox) не умеет -ax - он и так все показывает.

Наипростейший вариант:


/bin/ps | grep -v grep | grep -q rtorrent
# "grep -v grep" нужен, т.к. иначе будет срабатывание на самого себя

if [ $? -eq 0 ]; then
# Найдено
logger "$0: rtorrent already running."
else
# Не найдено
logger "$0: rtorrent not running, restarting."
# Нужно для того, чтобы "зачистить" после падения pidfile и т.д.
/opt/etc/init.d/S99rtorrent stop
sleep 1
/opt/etc/init.d/S99rtorrent start
fi

urtonic
12-03-2009, 20:36
"Встроенный" ps (busybox) не умеет -ax - он и так все показывает.

Наипростейший вариант:


/bin/ps | grep -v grep | grep -q rtorrent
# "grep -v grep" нужен, т.к. иначе будет срабатывание на самого себя

if [ $? -eq 0 ]; then
# Найдено
logger "$0: rtorrent already running."
else
# Не найдено
logger "$0: rtorrent not running, restarting."
# Нужно для того, чтобы "зачистить" после падения pidfile и т.д.
/opt/etc/init.d/S99rtorrent stop
sleep 1
/opt/etc/init.d/S99rtorrent start
fi


Спасибо за подсказку
/bin/ps | grep -v grep | grep -q rtorrent
все заработало