Portál AbcLinuxu, 24. dubna 2024 08:56


Dotaz: cron dvojí spuštění startovních skriptů

25.6.2010 17:21 Honza
cron dvojí spuštění startovních skriptů
Přečteno: 403×
Odpovědět | Admin
Přílohy:
Zdravím všechny, nedávno jsem úspěšně rozchodil OpenVPN a pomocí jejího logu sem odstranoval jen nedostatky v podobě warningů (např práva pro certifikaty atd) a zjistil jsem, že je jedna chyba v použivanem portu pro openvpn a popis že už se dany port používa, pote zjistuju ze se po spravne inicializaci spousti openvpn jakoby "podruhe" a neuspesne pac se port uz pouziva.

Pote kouknu do syslogu a vidim ze se startovaci skripty cronu spousti dvakrat. zde výtah (kompletni v priloze):
Jun 25 12:54:14 /opt/sbin/cron[135]: (CRON) STARTUP (V5.0)
Jun 25 12:54:14 kernel: Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
Jun 25 12:54:14 kernel: devfs_register(net/tun): could not append to parent, err: -17
Jun 25 12:54:19 thttpd[166]: socket :: - Address family not supported by protocol
Jun 25 12:54:24 thttpd[166]: thttpd/2.25b PHP/5.2.11 starting on port 8080
Jun 25 12:54:24 thttpd[166]: started as root without requesting chroot(), warning only
Jun 25 12:54:41 /opt/sbin/cron[201]: (CRON) STARTUP (V5.0)
Jun 25 12:54:42 thttpd[224]: socket :: - Address family not supported by protocol
Jun 25 12:54:43 thttpd[224]: thttpd/2.25b PHP/5.2.11 starting on port 8080
Jun 25 12:54:43 thttpd[224]: started as root without requesting chroot(), warning only
Nevedeli by jste co s tím ? Děkuji moc a v příloze přikládám logy...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.6.2010 13:42 NN
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
Odpovědět | | Sbalit | Link | Blokovat | Admin
Startovat openvpn cronem je nesmysl..demoni se spousti standartne pres rc.X skipty. Openvpn nema s kronem nic spolecneho..

Co mas za distro?

NN
27.6.2010 01:37 Honza
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
Ahooj ale dit jo spousti se to pres init.d skripty. Jen je to videt v tom logu jako by to spoustel cron. nevim. Distro mam koppel - ceska variace Oleg. Pokud stale tápeš tak neco jako open-wrt na managovatelny routery. jeste me napada sem hodit vsechen postup startovacich skriptu. mam soubor init.usb ktery se spousti po najeti routeru - zavadi se tam swap soubor a nasledne se odkazuje na startovaci soubory v /etc/init.d/rc.unslung a ten obsahuje:
#!/bin/sh
 
# Start all init scripts in /opt/etc/init.d
# executing them in numerical order.
#
for i in /opt/etc/init.d/S??* ;do
 
     # Ignore dangling symlinks (if any).
     [ ! -f "$i" ] && continue
 
     case "$i" in
        *.sh)
            # Source shell script for speed.
            (
                trap - INT QUIT TSTP
                set start
                . $i
            )
            ;;
        *)
            # No sh extension, so fork subprocess.
            $i start
            ;;
    esac
done 
a v té samé složce jsou spousteci skripty pro openvpn zde:
#!/bin/sh
#
# Startup script for openvpn as standalone server
#

# Make sure IP forwarding is enabled
echo 1 > /proc/sys/net/ipv4/ip_forward

# Make device if not present (not devfs)
if ( [ ! -c /dev/net/tun ] ) then
  # Make /dev/net directory if needed
  if ( [ ! -d /dev/net ] ) then
	mkdir -m 755 /dev/net
  fi
  mknod /dev/net/tun c 10 200
fi

# Make sure the tunnel driver is loaded
if ( !(lsmod | grep -q "^tun") ); then
	insmod /opt/lib/modules/tun.o
fi

# I you want a standalone server (not xinetd), comment out the return statement below
return 0


## This is for standalone servers only!!!!
# Kill old server if still there
if [ -n "`pidof openvpn`" ]; then
    /bin/killall openvpn 2>/dev/null
fi

# Start afresh - add as many daemons as you want
/opt/sbin/openvpn --daemon --cd /opt/etc/openvpn --config openvpn.conf 

# [EOF]
a jeste jeden
#!/bin/sh

if [ -n "`pidof openvpn`" ]; then 
/bin/killall openvpn 2>/dev/null
fi

# load TUN/TAP kernel module
/sbin/insmod tun

# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Startup VPN tunnel in daemon mode
/opt/sbin/openvpn --cd /opt/etc/openvpn --daemon \
--log-append /var/log/openvpn.log \
--config server.conf 
27.6.2010 01:41 Honza
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
navic v tech spoustecich skriptech je zabijeni jiz uz spustenejch relaci - tak nechapu jak se muze spoustet dvakrat a rict to ze se port pouziva kdzy by to teoreticky melo bud spustit jendou nebo nejakou chybou dvakrat ale protoze to vsechny predchozi relace killne tak by to ten port melo mit zas volny.... Diky za pomoc
27.6.2010 08:03 Ash | skóre: 53
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
protoze to vsechny predchozi relace killne tak by to ten port melo mit zas volny

Takto přesně to bohužel nefunguje, port může být i po zabití aplikace z určitých důvodů ještě chvíli blokovaný, další instance by buď musela počkat, nebo ho "rebindovat" ve zvláštním režimu.
27.6.2010 08:00 Ash | skóre: 53
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
je to videt v tom logu jako by to spoustel cron

Já tam nic takového nevidím. V syslogu vidím, že se 2 x spouští cron, a v openvpn.logu vidím, že se 2 X spouští OpenVPN. Podle mne jde jen o korelaci, ne o konsekvenci.

Asi to máte nějak rozdrbané a některé služby se vám spouští 2x (cron, openvpn, možná ještě něco...).
28.6.2010 01:24 Honza
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
Aha, tak moc děkuji a kde tento problém opravím, popř co můžu ještě zjistit (logy, configy) a napsat sem abych problém upřesnil?
28.6.2010 05:41 Ash | skóre: 53
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
Nevím, ale nikdy neuškodí uvést distribuci kterou používáte.
28.6.2010 23:40 Honza
Rozbalit Rozbalit vše Re: cron dvojí spuštění startovních skriptů
ok jesteto sem jednou hodim:
..Distro mam koppel - ceska variace Oleg. Pokud stale tápeš tak neco jako open-wrt na managovatelny routery...
na jejich strakach a forech sem to hledal a nikde nic - spis bych se prilonil k tomu ze sem treba jendou pri instalaci neceho neco skonil a ted se mi to zacina vymstivat - ono jako vsechno jde ale tak nejak s chybama, pomalejs atd (znas to). Mozna se rozhodnu to vyresetovat a prehrat znova firmware s cistym systemem a naisntalovat znova ale je toho dost bezi na tom web server (php + mysql), ssh, telnet, ftp (+ucty a prava), statistiky, logy, automaticke stahovani a zalohovani, openvpn... to nad tim zas stravim tejden :-(.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.