hoochie Опубликовано 18 августа, 2010 (изменено) проблема вот в чем: установил microdc вручную запускаешь, все работает, файлы которые он расшаривает видно, все в нормальной кодировке. проблема возникает когда даешь автоматический запуск - все процессы присутствуют, но другие не видят, в логах microdc видно следующее: 18.08.2010 10:41:33 Automatically reconnecting to hub 18.08.2010 10:41:33 Connecting to hub on 0.0.0.0:0. 18.08.2010 10:41:33 Connected to hub from 0.0.0.0:0. 18.08.2010 10:41:33 Cannot receive from hub - Transport endpoint is not connected 18.08.2010 10:41:33 Shutting down hub connection. 18.08.2010 10:41:43 Automatically reconnecting to hub 18.08.2010 10:41:43 Connecting to hub on 0.0.0.0:0. 18.08.2010 10:41:43 Connected to hub from 0.0.0.0:0. 18.08.2010 10:41:43 Cannot receive from hub - Transport endpoint is not connected 18.08.2010 10:41:43 Shutting down hub connection. и так каждые 10 секунд. скрипт запуска (кстати может кому нибудь будет полезен): cat /etc/init.d/mdc #!/bin/bash PROGRAM="microdc2" PROG_BIN="screen -dmS microdc /usr/local/bin/microdc2 -c /root/.microdc2/config" PID=`ps -aef | grep "$PROGRAM" | grep -v grep | awk '{print $2}'` case "$1" in start) if [ ! -z $PID ] then echo -n "Daemon $PROGRAM is running" echo "" else echo -n "Starting $PROGRAM: " $PROG_BIN > /dev/null 2>&1 & echo "Daemon $PROGRAM started. PID:$!" echo "" fi ;; stop) echo -n "Shutting down $PROGRAM: " echo "" for i in $PID; do kill -9 $i done echo -n "$PROGRAM is down." echo "" ;; restart) $0 stop $0 start ;; status) STATUS=`ps -aef | grep "$PROGRAM" | grep -v grep | awk '{print $2}' | head -1` if [ ! -z $STATUS ] then echo -n "Daemon $PROGRAM is running" echo "" for i in $PID; do echo PID:$i done echo "" else echo -n "Daemon $PROGRAM is down." echo "" fi ;; *) echo "Usage: $PROGRAM {start|stop|restart|status}" exit 1 esac exit 0 но если сделать в запуск по крону например каждые 15 минут, или запускать вручную - то запускается прекрасно и работает, и в логах все ок: 18.08.2010 10:50:02 Listening on 0.0.0.0:46475. 18.08.2010 10:50:02 Connecting to hub on 172.20.1.1:411. 18.08.2010 10:50:02 Connected to hub from 172.20.1.50:50475. 18.08.2010 10:50:03 Nick accepted. You are now logged in. 18.08.2010 10:50:03 Sharing 1812768803757 bytes (1.7TiB) totally 18.08.2010 10:50:03 Sharing 1812768803757 bytes (1.7TiB) totally 18.08.2010 10:50:03 filelist_update: /srv/files directory is already shared as subfolder of existing shared tree 18.08.2010 10:50:03 Hub name is XXX Hub. 18.08.2010 10:50:03 Sharing 1812768803757 bytes (1.7TiB) totally подскажите где могут быть грабли? Изменено 18 августа, 2010 пользователем hoochie Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 18 августа, 2010 18.08.2010 10:41:43 Connecting to hub on 0.0.0.0:0.18.08.2010 10:41:43 Connected to hub from 0.0.0.0:0. 18.08.2010 10:41:43 Cannot receive from hub - Transport endpoint is not connected Я бы предположил, что он читает не тот config-файл.Можно попробовать вместо microdc запускать strace -o /tmp/microdc.strace -e file microdc и смотреть в /tmp/microdc.strace, действительно ли читается то, что нужно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martin74 Опубликовано 18 августа, 2010 от какого пользователя он запускается из скрипта автозапуска и добирается ли до своего конфига в хоме рута? Может конфиг в более другое место положить? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hoochie Опубликовано 18 августа, 2010 Спасибо всем за ответы, как проверю, так отпишу. Сейчас отправили другой задачей заниматься. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hoochie Опубликовано 19 августа, 2010 вот что по процесам после перезагрузки сервера: ps aux|grep micro root 884 0.0 0.1 2852 856 ? Ss 18:31 0:00 SCREEN -dmS microdc /usr/local/bin/microdc2 -c /root/.microdc2/config root 888 0.0 0.2 4436 1528 pts/1 Ss+ 18:31 0:00 /usr/local/bin/microdc2 -c /root/.microdc2/config root 898 0.0 0.2 4660 1124 pts/1 SN+ 18:31 0:00 /usr/local/bin/microdc2 -c /root/.microdc2/config root 899 0.0 0.0 4280 352 pts/1 S+ 18:31 0:00 /usr/local/bin/microdc2 -c /root/.microdc2/config root 900 0.0 0.0 4280 360 pts/1 S+ 18:31 0:00 /usr/local/bin/microdc2 -c /root/.microdc2/config root 903 43.9 0.1 4716 936 pts/1 SN+ 18:31 0:20 /usr/local/bin/microdc2 -c /root/.microdc2/config root 1912 33.3 0.1 3296 784 pts/0 S+ 18:31 0:00 grep micro то есть, запущен он от рута и верный конфиг (/root/.microdc2/config) но при этом в логе: tail -f /var/log/microdc.log 19.08.2010 18:31:45 Automatically reconnecting to hub 19.08.2010 18:31:45 Connecting to hub on 0.0.0.0:0. 19.08.2010 18:31:45 Connected to hub from 0.0.0.0:0. 19.08.2010 18:31:45 Cannot receive from hub - Transport endpoint is not connected 19.08.2010 18:31:45 Shutting down hub connection. 19.08.2010 18:31:55 Automatically reconnecting to hub 19.08.2010 18:31:55 Connecting to hub on 0.0.0.0:0. 19.08.2010 18:31:55 Connected to hub from 0.0.0.0:0. 19.08.2010 18:31:55 Cannot receive from hub - Transport endpoint is not connected 19.08.2010 18:31:55 Shutting down hub connection. 19.08.2010 18:32:05 Automatically reconnecting to hub 19.08.2010 18:32:05 Connecting to hub on 0.0.0.0:0. 19.08.2010 18:32:05 Connected to hub from 0.0.0.0:0. 19.08.2010 18:32:05 Cannot receive from hub - Transport endpoint is not connected 19.08.2010 18:32:05 Shutting down hub connection. как запустить strace не пойму, ведь конфиг читается при старте сервера.... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mallorn Опубликовано 2 сентября, 2010 (изменено) microdc нужно передавать корректные значения home директории. Вот как оно у нас работает (debian lenny): files:/etc/init.d# cat microdc2r1 #!/bin/bash #!/bin/sh # Start/stop the microdc2 client and daemonize it %). # ### BEGIN INIT INFO # Provides: microdc2r1 # Required-Start: $syslog $networking # Required-Stop: $syslog $networking # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO . /lib/lsb/init-functions export HOME=/opt/microdc2/r1 case $1 in start) if [ -x /usr/local/bin/microdc2 ]; then echo "Starting MicroDC2 RAID #1" cd $HOME /usr/bin/screen -d -m /usr/local/bin/microdc2r1 -c $HOME/config fi ;; stop) echo "Stopping MicroDC2 RAID #1" kill -9 `pidof SCREEN` screen -wipe ;; restart) $0 stop sleep 5 $0 start ;; *) log_action_msg "usage: $0 {start|stop|restart}" ;; Таким образом можно запускать несколько дц-ботов с раздачами на одной машине, разложив их конфиги в разные папки. Работает второй год, сбоев не замечено. Рестарт раз в неделю делает logrotate после бекапа логов ботов. Изменено 2 сентября, 2010 пользователем Mallorn Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
localGhost Опубликовано 3 сентября, 2010 я у себя сделал вот так (ОС FreeBSD 7): в /etc/rc.local добавил screen -S dcpp -d -m su - dcpp -c /usr/local/bin/microdc2 предварительно естественно создав пользователя dcpp. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hoochie Опубликовано 9 сентября, 2010 Спасибо за ответы! пробовал различные варианты, но ни один из них не сработал...: 1. запуск от пользователя : su hoochie -c 'screen -S microdc2 -d -m /usr/local/bin/microdc2 -c /home/hoochie/microdc2/config' 2. screen -d -m su -l hoochie /usr/local/bin/microdc2 -c /home/hoochie/microdc2/config 3. /usr/bin/screen -d -m /usr/local/bin/microdc2 -c /root/.microdc2/config во всех трех вариантах если стартовать руками то работает(или по крону) но при старте системы не запускается((( подскажите как я могу воспользоаться strace? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hoochie Опубликовано 9 сентября, 2010 что касается strace добавил перед командой запуска strace -o /123 перезагрузил сервер, получил вывод strace. Он во вложении. Помогите расшифровать что не так? в файлах, которые открывает конфигурационного файла не вижу... но его также в этом выводе не вижу, если запускаю вручную Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...