Страница 1 из 1

авто запуск rtorrent

Добавлено: 2009-01-06 17:10:14
l2qwe
Не понимаю в чём дело.

пробую запустить из rc.loacl

Код: Выделить всё

/usr/bin/su -m rtorrent -c '/usr/local/bin/dtach -n /var/bitorrent/tor.sock /usr/local/bin/rtorrent'
ни каких ошибак не выдаёт но после перезагрузки смотрю процессы и там нет ни dtach ни rtorrent
запихал в cron

Код: Выделить всё

* *   *   *   *  rtorrent_start
rtorrent_start

Код: Выделить всё

if [ $(top | grep -c 'rtorrent') == 0 ]
   then
      /usr/bin/su -m rtorrent -c '/usr/local/bin/dtach -n /var/bitorrent/tor.sock /usr/local/bin/rtorrent'
      echo `date`" : start rtorrent" >> /var/log/testrtorrent.log
fi
в процессах не появляется

а если порсто выполнить скрипт
#rtorrent_start
то всё работает, в процессах появляется rtorrent и идут раздачи и скачивание.

Но мне надо чтоб при загрузки системы rtorrent запускался автоматом.

OpenBSD 4.4
rtorrent-0.7.9

Re: авто запуск rtorrent

Добавлено: 2009-01-06 17:47:02
~>cerber<~
посмтори ошибки крона, я б указал полный путь к твоему rtorrent_start если он не лежит в одной из переменных PATH
по поводу rc.local: тот исполняет все что ты там напишешь
[ -f /etc/rc.local ] && . /etc/rc.local

Re: авто запуск rtorrent

Добавлено: 2009-01-06 18:03:56
l2qwe
/var/cron/log

Код: Выделить всё

Jan  6 17:15:01 webserv1 cron[31132]: (root) CMD (test_corbina)
Jan  6 17:16:02 webserv1 cron[16875]: (root) CMD (test_corbina)
Jan  6 17:17:02 webserv1 cron[5959]: (root) CMD (test_corbina)
Jan  6 17:18:02 webserv1 cron[11769]: (root) CMD (test_corbina)
Jan  6 17:19:01 webserv1 cron[7857]: (root) CMD (test_corbina)
Jan  6 17:20:02 webserv1 cron[14497]: (root) CMD (test_corbina)
Jan  6 17:21:02 webserv1 cron[12123]: (root) CMD (test_corbina)
Jan  6 17:22:02 webserv1 cron[24287]: (root) CMD (test_corbina)
rtorrent_start лежит в /bin/

то что скрипт исполняется это 100%, в в него добавлял просто echo "!!!!"
и каждую минуту cron мне присылал письмецо с тем что ему ответил скрипт.
аналогична при загрузке на экран выводилось !!!!.

я уже пробовал через screen сделать но в нём rtorrent весит в процессах но не работает, нет ни загрузки процессора ни загрузки трафика.

Re: авто запуск rtorrent

Добавлено: 2009-01-06 18:35:12
f_andrey
l2qwe писал(а):rtorrent_start лежит в /bin/
Вот эта идея точно НЕ ХОРОШАЯ лучше не ленись и когда надо прописывай нужные пути.
А насчет rtorrent а с чего ты взял что он вообще способен работать в режиме демона? может стоит продолжить эксперименты со скрином, то есть запустить его там и подключившись посмотреть что происходит.

Re: авто запуск rtorrent

Добавлено: 2009-01-06 19:08:56
l2qwe
пробую через screen

/usr/bin/rtorrent_start

Код: Выделить всё

if [ $(top | grep -c 'rtorrent') == 0 ]
   then
      /usr/local/bin/screen -S torrent /usr/local/bin/rtorrent
      echo `date`" : start rtorrent" >> /var/log/testrtorrent.log
fi

Код: Выделить всё

# crontab -l
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
#minute hour    mday    month   wday    who command
...
* *   *   *   *  rtorrent_start
#
в ответ cron на мыло пишит

Код: Выделить всё

Message 1:
From root@... Tue Jan  6 18:51:05 2009
Date: Tue, 6 Jan 2009 18:51:04 -0700 (MST)
From: root@... (Cron Daemon)
To: root@...
Subject: Cron <root@...> test_corbina
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

Must be connected to a terminal.


а если просто выполнить

Код: Выделить всё

#/usr/bin/rtorrent_start
то запускается жмём Ctrl+A+D и rtorrent остаётся в процессах

Код: Выделить всё

#/usr/local/bin/screen -r rtorrent
заходит в работающий rtorrent

Re: авто запуск rtorrent

Добавлено: 2009-01-06 19:34:41
l2qwe
в rtorrent_start

Код: Выделить всё

...
/usr/local/bin/screen -S torrent /usr/local/bin/rtorrent
...
добавил ключи к скрину

Код: Выделить всё

...
/usr/local/bin/screen -d -m -S torrent /usr/local/bin/rtorrent
...
теперь нормально работает.
Только есть неудобство одно, через ssh скрином не подцепится.

Re: авто запуск rtorrent

Добавлено: 2009-04-30 15:01:35
suka
Большое спасибо l2qwe!
На основе его топика, у меня получилась следующая конфигурация:

Код: Выделить всё

[oleg@safary /usr/home/oleg]$ cat /usr/home/oleg/start.rtorrent.sh
#!/usr/local/bin/bash

if [ $(top | grep -c 'rtorrent') == 0 ]
   then
      /usr/local/bin/screen -dmS torrent81 -U /usr/local/bin/rtorrent -n -o import=/usr/home/oleg/rtorrent.rc
      /usr/local/bin/screen -dmS torrent82 -U /usr/local/bin/rtorrent -n -o import=/usr/home/oleg/rtorrent.adult.rc
      echo `date`" : start rtorrent" >> /usr/home/oleg/start.rtorrent.sh.log
fi
[oleg@safary /usr/home/oleg]$ cat /etc/crontab
# ...
*/5     *       *       *       *       oleg    /usr/home/oleg/start.rtorrent.sh
# ...
[oleg@safary /usr/home/oleg]$ screen -ls
There are screens on:
        3987.torrent81  (Detached)
        3990.torrent82  (Detached)
2 Sockets in /tmp/screens/S-oleg.
При этом вхожу по ssh совершенно нормально, используя следующую команду:

Код: Выделить всё

[oleg@safary /usr/home/oleg]$ screen -x torrent81

Re: авто запуск rtorrent

Добавлено: 2010-04-01 16:24:03
fire_anton
С вашим скриптом была замечена оказия.
Когда запущено много процессов то в выводимое окно для команды TOP не вмещались процессы запущенные Скрином.
Решил я эту проблему следующим образом.
Создается особый пользователь для Скрина. И запускается Скрин под этим пользователем. А скрипт меняется вот так:

Код: Выделить всё

#!/usr/local/bin/bash

if [ $(top -U rtorrent | grep -c 'rtorrent') == 0 ]
then
        /usr/local/bin/screen -dmS rtorrent -U /usr/share/rtorrent/dist/rtorrent.sh
        echo `date`" : start rtorrent" >> /var/log/rtorrent.log
fi
Получается в TOP выводятся процессы запущенные этим пользователем. А если их нет то и не выводятся. Что приводит к запуску скрипта.

Re: авто запуск rtorrent

Добавлено: 2010-04-03 16:57:02
suka
:)
Да, у меня тоже были какие-то проблемы с этим.
В итоге, я из под пользователя ftp прикрутила...

Re: авто запуск rtorrent

Добавлено: 2010-04-07 15:31:40
Gendos
какая Девачка

Re: авто запуск rtorrent

Добавлено: 2010-08-12 20:35:59
goodle
А нельзя так?

Код: Выделить всё

if [ $( ps -aux | grep -c 'rtorrent') == 1 ]