Bekijk de volledige versie : Гуру помогите со скриптом ламеру
Скрипт проверки 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 пустой. В чем проблема?
указывайте либо полные пути, либо PATH в начале файла
Скрипт проверки 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
"Встроенный" 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
все заработало