Рубрики

Лучшие статьи

rtorrent автозапуск после краша

Опубликовал 20 июля 2011 в рубрике rtorrent. Комментарии: Один комментарий   Просмотров: 89 просмотров

rtorrentrtorrent FreeBSD запускаем автоматические после краша. rtorrent замечательный torrent-клиент для FreeBSD, но бывает падает лапками к верху и не хочет работать как следует. В основном у меня ругается так

unixtips kernel: pid 4205 (rtorrent), uid 1001: exited on signal 6 (core dumped)

Как правило случается это при проверке недокачанных файлов – хешировании. Вероятнее всего это ошибки не самого rtorrent, а файловой системы/дисков, но не столь важно. Нам же нужно обеспечить круглосуточную качалку/раздавалку торрентов. А то когда это мы в консоль залезем, увидим, что не запущен клиент, перезапустим. Поэтому решил я настроить автозапуск rtorrent.

Для таких случаев есть замечательная утилитка – monit. Как следует из названия, мониторит запущенных демонов и в случае чего рестартует их. Мониторить она может по многим параметрам, я выбрал по наличию PID файла.

Но тут есть одно загвоздка. Я нарисовал свой скрипт стартующий/стопающий rtorrent и не реализовал в нем функцию запоминания pid'a рторрента. Исправлюсь – примитивную поддержку сделал на основ ps. Работает как часы в таком варианте у меня дома

Стартующий скрипт rtorrent.sh

#!/bin/shpid=»`ps auxc | grep rtorrent |grep user| awk '{print $2}'`»case «$1" in
start)
echo «Starting rtorrent & screen…»
su – user -c '/usr/local/bin/screen -S rt -d -m /usr/local/bin/rtorrent'
ps auxc | grep rtorrent | grep user | awk '{print $2}' > /var/run/rtorrent.pid
;;
stop)
echo «Stopping rtorrent & screen…»
/bin/kill -9 $pid
rm -f /var/run/rtorrent.pid
;;
restart)
echo «Restarting rtorrent & screen…»
/bin/kill -9 $pid
rm -f /var/run/rtorrent.pid
sleep 3
echo «Starting rtorrent & screen…»
su – user -c '/usr/local/bin/screen -S rt -d -m /usr/local/bin/rtorrent'
ps axc | grep rtorrent | awk '{print $1}' > /var/run/rtorrent.pid
;;
status)
echo «rtorrent running with pid $pid»
;;
*)
echo «Usage: `basename $0` {start|stop}» >&2
exit 64
;;
esac

exit 0

Теперь при старте rtorrent'a будет создаваться ассоциированный с ним PID файл в /var/run/.

Теперь настроим конфиг monit. /usr/local/etc/monitrc

set mailserver localhost,               # primary mailserver
mail.slave_mail_serv.ru  # backup mailserver on port 10025set eventqueue
basedir /var/log/monit  # set the base directory where events will be store
slots 100set mail-format { from: monit@unixtips.ru }set alert my_mail@mail.rucheck process rtorrent with pidfile /var/run/rtorrent.pid
start program = «/usr/local/etc/rc.d/rt start»
stop program = «/usr/local/etc/rc.d/rt stop»

Не забываем добавь автозапуск monit. Пишем в /etc/rc.conf

echo 'monit_enable=»YES»' >> /etc/rc.conf

Какую-никакую отказоустойчивость обеспечили.

Поделись:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • MySpace
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • LinkedIn
  • Technorati
  • del.icio.us
  • Digg
  • БобрДобр
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок
  • Blogger
  • Блог Li.ру
  • Блог Я.ру
  • Одноклассники

Метки: ,
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка ... Загрузка ...

К записи Один комментарий

А есть скрипт для freebsd?



Оставить комментарий или два

RSS

rss Подпишитесь на RSS для получения обновлений.

Add to Google Reader or Homepage

Подписаться на рассылку E-Mail:

Опрос

Статьи на какую тему Вам более интересны?

Просмотреть результаты

Загрузка ... Загрузка ...