Есть процесс pptp и надо его запускать в фоне в одном из скриптов /etc/rc.d.
если поставить в конце команды символ & то он запустится, но через три секунды после завершения скрипта pptp падает. Как сделать так чтоб не падал?
Если запускать этот же скрипт руками в консоли то всё хорошо, а если он запускается при загрузке системы - то вот такая проблема
>Есть процесс pptp и надо его запускать в фоне в одном из
>скриптов /etc/rc.d.
>если поставить в конце команды символ & то он запустится, но через
>три секунды после завершения скрипта pptp падает. Как сделать так чтоб
>не падал?
>Если запускать этот же скрипт руками в консоли то всё хорошо, а
>если он запускается при загрузке системы - то вот такая проблема
>Может ему необходимо добавить перенаправление вывода стандартных дескрипторов STDOUT STDERR? Тоесть, добавить в конец команды запуска (но перед вимволом &) вот это:
1>/dev/null 2>&1
всё равно падает
>всё равно падаетхоть что-то в лог пишет перед смертью?
Feb 8 22:02:06 disasm-srv ppp[704]: Phase: Using interface: tun0
Feb 8 22:02:06 disasm-srv ppp[704]: Phase: deflink: Created in closed state
Feb 8 22:02:06 disasm-srv ppp[704]: Phase: PPP Started (direct mode).
Feb 8 22:02:06 disasm-srv ppp[704]: Phase: bundle: Establish
Feb 8 22:02:06 disasm-srv ppp[704]: Phase: deflink: closed -> opening
Feb 8 22:02:06 disasm-srv ppp[704]: Phase: deflink: Connected!
Feb 8 22:02:06 disasm-srv ppp[704]: Phase: deflink: opening -> carrier
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: deflink: carrier -> lcp
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: bundle: Authenticate
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: deflink: his = CHAP 0x05, mine = none
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: Chap Input: CHALLENGE (16 bytes from vpdn-campus-2)
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: Chap Output: RESPONSE (221873)
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: Chap Input: SUCCESS
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: deflink: lcp -> open
Feb 8 22:02:07 disasm-srv ppp[704]: Phase: bundle: Network
Feb 8 22:02:07 disasm-srv ppp[704]: Warning: 0.0.0.0/0: Change route failed: errno: No such process
Feb 8 22:02:07 disasm-srv ppp[704]: Warning: ff02:4::/32: Change route failed: errno: Network is unreachable
В это время работает сеть. Если в скрипте поставить паузу, то сеть будет работать всё это время.
И тут скрипт завершается...Feb 8 22:02:13 disasm-srv ppp[704]: Phase: Signal 1, terminate.
Feb 8 22:02:13 disasm-srv ppp[704]: Phase: bundle: Terminate
Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: open -> lcp
Feb 8 22:02:13 disasm-srv ppp[704]: Warning: 0.0.0.0/0: Change route failed: errno: No such process
Feb 8 22:02:13 disasm-srv ppp[704]: Warning: ff02:4::/32: Change route failed: errno: Network is unreachable
Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: Disconnected!
Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: Connect time: 7 secs: 920 octets in, 546419 octets out
Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: 13 packets in, 721 packets out
Feb 8 22:02:13 disasm-srv ppp[704]: Phase: total 78191 bytes/sec, peak 136549 bytes/sec on Sun Feb 8 22:02:09 2009
Feb 8 22:02:14 disasm-srv ppp[704]: Phase: deflink: lcp -> closed
Feb 8 22:02:14 disasm-srv ppp[704]: Phase: bundle: Dead
Feb 8 22:02:14 disasm-srv ppp[704]: Phase: PPP Terminated (normal).telecom2_start()
{
echo "Starting PPTP connection to MIPT UPCHK"routes_add > /dev/null
/sbin/ifconfig tun0 down
/sbin/ifconfig tun0 destroydate >> /tmp/pp.log
/usr/bin/netstat -rn >> /tmp/pp.log
echo >> /tmp/pp.log$pptp vpdn-campus.mipt.ru TELECOM 1>/dev/null 2>&1 &
/bin/sleep 4
$route delete -host 193.125.142.233
$route delete -host 193.125.142.246/usr/local/bin/php /usr/MYFILES/ip_update/update.php
date
return 0
}
сеть падает через три секунды, после даты, выведенной командой date
>Feb 8 22:02:13 disasm-srv ppp[704]: Phase: Signal 1, terminate.
>Feb 8 22:02:13 disasm-srv ppp[704]: Phase: bundle: Terminate
>Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: open -> lcp
>Feb 8 22:02:13 disasm-srv ppp[704]: Warning: 0.0.0.0/0: Change route failed: errno:
>No such process
>Feb 8 22:02:13 disasm-srv ppp[704]: Warning: ff02:4::/32: Change route failed: errno:
>Network is unreachable
>Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: Disconnected!
>Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: Connect time: 7 secs:
>920 octets in, 546419 octets outНе нравятся мне эти варнинги по поводу "Change route failed"... А можно посмотреть на ррр-интерфейс и таблицу маршрутизации тачки в момент когда коннект ещё держится?
>Не нравятся мне эти варнинги по поводу "Change route failed"... А можно
>посмотреть на ррр-интерфейс и таблицу маршрутизации тачки в момент когда коннект
>ещё держится?Эти строчки есть и при запуске скрипта из консоли, когда всё работает.
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
inet 81.5.101.51 --> 81.5.90.73 netmask 0xffffffff
Opened by PID 704Internet:
Destination Gateway Flags Refs Use Netif Expire
default 81.5.90.73 UGS 0 0 tun0
10.0.0.0/8 10.55.112.1 UGS 0 0 rl0
10.55.112.0/23 link#1 UC 0 0 rl0
10.55.112.1 00:11:5d:bd:b3:52 UHLW 9 0 rl0 1196
81.5.64.0/20 10.55.112.1 UGS 0 0 rl0
81.5.88.0/22 10.55.112.1 UGS 0 0 rl0
127.0.0.1 127.0.0.1 UH 0 0 lo0
172.16.0.0/12 10.55.112.1 UGS 0 0 rl0
192.168.0.0/16 10.55.112.1 UGS 0 0 rl0
192.188.189.0/24 10.55.112.1 UGS 0 0 rl0
193.125.142.0/23 10.55.112.1 UGS 0 18 rl0
194.85.80.0/22 10.55.112.1 UGS 0 0 rl0Последняя выведенная в мой лог дата:
Tue Feb 10 14:29:02 MSK 2009а в /var/log/ppp.log такое:
Feb 10 14:28:58 disasm-srv ppp[704]: Phase: Using interface: tun0
Feb 10 14:28:58 disasm-srv ppp[704]: Phase: deflink: Created in closed state
Feb 10 14:28:58 disasm-srv ppp[704]: Phase: PPP Started (direct mode).
Feb 10 14:28:58 disasm-srv ppp[704]: Phase: bundle: Establish
Feb 10 14:28:58 disasm-srv ppp[704]: Phase: deflink: closed -> opening
Feb 10 14:28:58 disasm-srv ppp[704]: Phase: deflink: Connected!
Feb 10 14:28:58 disasm-srv ppp[704]: Phase: deflink: opening -> carrier
Feb 10 14:28:59 disasm-srv ppp[704]: Phase: deflink: carrier -> lcp
Feb 10 14:28:59 disasm-srv ppp[704]: Phase: bundle: Authenticate
Feb 10 14:28:59 disasm-srv ppp[704]: Phase: deflink: his = CHAP 0x05, mine = none
Feb 10 14:28:59 disasm-srv ppp[704]: Phase: Chap Input: CHALLENGE (16 bytes from vpnd-1-7201)
Feb 10 14:28:59 disasm-srv ppp[704]: Phase: Chap Output: RESPONSE (DISASM)
Feb 10 14:29:00 disasm-srv ppp[704]: Phase: Chap Input: SUCCESS
Feb 10 14:29:00 disasm-srv ppp[704]: Phase: deflink: lcp -> open
Feb 10 14:29:00 disasm-srv ppp[704]: Phase: bundle: Network
Feb 10 14:29:00 disasm-srv ppp[704]: Warning: 0.0.0.0/0: Change route failed: errno: No such process
Feb 10 14:29:00 disasm-srv ppp[704]: Warning: ff02:4::/32: Change route failed: errno: Network is unreachable
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: Signal 1, terminate.
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: bundle: Terminate
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: deflink: open -> lcp
Feb 10 14:29:04 disasm-srv ppp[704]: Warning: 0.0.0.0/0: Change route failed: errno: No such process
Feb 10 14:29:04 disasm-srv ppp[704]: Warning: ff02:4::/32: Change route failed: errno: Network is unreachable
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: deflink: Disconnected!
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: deflink: Connect time: 6 secs: 920 octets in, 846 octets out
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: deflink: 13 packets in, 13 packets out
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: total 294 bytes/sec, peak 339 bytes/sec on Tue Feb 10 14:29:02 2009
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: deflink: lcp -> closed
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: bundle: Dead
Feb 10 14:29:04 disasm-srv ppp[704]: Phase: PPP Terminated (normal).Тут всё-таки думаю не в сети проблема.
>[оверквотинг удален]
>>No such process
>>Feb 8 22:02:13 disasm-srv ppp[704]: Warning: ff02:4::/32: Change route failed: errno:
>>Network is unreachable
>>Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: Disconnected!
>>Feb 8 22:02:13 disasm-srv ppp[704]: Phase: deflink: Connect time: 7 secs:
>>920 octets in, 546419 octets out
>
>Не нравятся мне эти варнинги по поводу "Change route failed"... А можно
>посмотреть на ррр-интерфейс и таблицу маршрутизации тачки в момент когда коннект
>ещё держится?pptpd НЕ МОЖЕТ изменять существующий default route. пользуй скрипты ip-up, ip-down, чтоб настраивать роутинг вручную в этом случае.
>Есть процесс pptp и надо его запускать в фоне в одном из
>скриптов /etc/rc.d.
>если поставить в конце команды символ & то он запустится, но через
>три секунды после завершения скрипта pptp падает. Как сделать так чтоб
>не падал?
>Если запускать этот же скрипт руками в консоли то всё хорошо, а
>если он запускается при загрузке системы - то вот такая проблема
>screen -d -m -S имя_скрина команда
к примеру делаем shell-скрипт на запуск соединения с именем provider и далее:
screen -d -m -S callprovider /где/shell-скрипт_лежит/provider
PS man screen - тебе это надо
PSS кстати если хочешь чтоб соединение до провайдера постоянно "тыкалось", то не забудь крикнуть pppd опции "persist" и "maxfail=0" для своего соединения. иначе оно и в скрине ткнется, отвалится и на этом все кончится
PSS все же кажется у тебя линух - вот вызов скрипта provider и воткни в /etc/rc.d/rc.local. с теми опциями pppd, что я сказал, при обрыве связи с провом оно все равно будет стучаться, без всяких дополнительных стараний от тебя