Portál AbcLinuxu, 26. dubna 2024 01:38


Dotaz: skript po startu v redhat

30.7.2004 18:50 pami
skript po startu v redhat
Přečteno: 535×
Odpovědět | Admin
Ahoj, chtěl bych se zeptat, jestli to bude správně když potřebuji, aby se mi po restartu serveru spustil pop3 démon a bind, normálně je teď musím spouštět z řádku příkazy:
/usr/src/redhat/SOURCES/popa3d.init start
/etc/rc.d/init.d/named start
Tak jsem napsal skript popabind.sh kde mám pouze:
#!/bin/sh
/usr/src/redhat/SOURCES/popa3d.init start
/etc/rc.d/init.d/named start
a nastavil
chmod +x popabind.sh
. Je to OK? Dále jsem se dočetl že bych ho měl zkopírovat do (pravděpodobně) /etc/rc3.d nebo do /etc/rc.d/rc.local , pak už by to asi mělo fungovat. Je jedno jestli ho zkopíruju tam či onam(viz výše)? Mám RedHat8.0 , ještě jsem četl o nějakých lincích, ale tomu už nějak nerozumím. Dejme tomu že to kopnu do /etc/rc3.d a toť vše...- bude to OK? Díky moc, z těch předchozích diskuzí mi tyhle věci nebyly úplně jasné...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.7.2004 19:16 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: skript po startu v redhat
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to totálně špatně.

Prostě každý program se spouští podle toho co je nadefinováno v jednotlivých runlevelech.

Takže upravit příslušný runlevel :-)

Jinak u RH pod rootem existuje konzolová aplikace setup kde to jde naklikat :-)

Jinak ntsysv :-)
30.7.2004 19:22 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: skript po startu v redhat
Odpovědět | | Sbalit | Link | Blokovat | Admin
Určitě nepotřebuješ, aby se ti spouštělo něco odkudsi z /usr/src/redhat/SOURCES/, kde to asi zbylo jako pozůstatek nějakého rpm rebuildu.

Pokud je ten program nainstalovaný, tak má snad startovací skript normálně v /etc/init.d. Pokud není, nainstaluj ho.

Jinak proboha nevytvářej žádné skripty spoustějící startovací skripty, mohl by ses zacyklit ;-)
chkconfig --level 3 named on
chkconfig --level 3 popa3d on
2.8.2004 14:04 pami
Rozbalit Rozbalit vše Re: skript po startu v redhat
díky za odpověď, chtěl bych dodat že v /etc/init.d ty skripty jsou, avšak k tomu
chkconfig --level 3 popa3d on
mi píše
služba popa3d chkconfig nepodporuje
Tak nevím jestli spouštění z /usr/src/redhat/SOURCES/ je tak zlý, vím jen že to funguje. Nevím jestli když by to tak nemělo být a samo od sebe se to nespouští, a moje původní návrhy jsou nanic, tak jestli tedy nemám upravit rc.local ...? Mám tam:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
#konfigurace iptables
/etc/rc.d/rc.firewall

/usr/sbin/named restart
#spustit sluzby
service postfix start
...u čehož mě napadá že namísto "/usr/sbin/named restart" bych tam měl dát "/usr/sbin/named start" nebo to své "/etc/rc.d/init.d/named start" (?) a přidat "/etc/rc.d/init.d/popa3d start"

??? Sorry že se tak blbě ptám, nevím proč ten původní návrh stál za ... když to bylo podle návodu ze starších diskuzí...
2.8.2004 16:49 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: skript po startu v redhat
Ten startovací skript se nachází v /usr/src/redhat/SOURCES náhodou. Tento adresář obsahuje zdrojáky, které byly někdy použity pro tvorbu rpm balíčku a prostě tam zbyly. Jeho obsah se může celý smazat a na funkčnost systému to nemá [mít] žádný vliv.

Pokud ten skript nepodporuje chkconfig, tak mu jen chybí hlavička nebo ho psalo prase, to těžko říci, když nevím, jak vypadá; v nejhorším ho tedy spusť z rc.local.

Postfix můžeš (měl bys) spouštět stejně tak

chkconfig --level 3 postfix on

a necpat ho do rc.local (/etc/init.d/postfix porporuje chkconfig určitě).

firewall (iptables) a named normálně také stačí nastavit jako službu... Tohle vypadá, jako kdyby Slackwaristu pustili k SysV initu ;-)
24.11.2006 12:29 zvovka | skóre: 20
Rozbalit Rozbalit vše Re: skript po startu v redhat

Slackware Sys V init podporuje! Což na druhou stranu neznamená, že mu hned každý slackwarista rozumí.

Jestli budete řešit ten rc.firewall, dejte si pozor, implicitní skript v Red Hatu se jmenuje iptables a ne rc.firewall. Vypadá to, že si někdo (před váma) řešil fw po svém, tak abyste neměl odřízlý, nebo moc otevřený systém.
Vsichni mate spinave zadky!
2.8.2004 17:24 Smazáno | skóre: 21 | blog: tezkorict
Rozbalit Rozbalit vše Re: skript po startu v redhat
Prakticky stačí přidat do hlavičky scriptu řádek:

# chkconfig: 345 05 95

a měl by to chkconfig sežrat.

První trojčíslí jsou čísla defaulních runlevelů, ve kterých se ten script bude spouštět a druhé dvě určují pořadí ve kterém se spustí/vypne, resp. jaká jména vytvoří u symbolických linků v /etc/rc[0-6].d
24.11.2006 16:06 Milan Dobeš | skóre: 22
Rozbalit Rozbalit vše Re: skript po startu v redhat
V Redhatu je pop3 služba spouštěná xinet démonem, v konfiguračním souboru /etc/xinetd.d/ipop3 opravíš řádek "disable = yes" na "no" a restartuješ démona /etc/rc.d/init.d/xinetd restart. Pohodlnější je to z konzole pomocí setup ale to už Ti tu radili že?
23.11.2006 14:09 jiridos
Rozbalit Rozbalit vše Re: skript po startu v redhat
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bylo to tu víckrát, ale vyzkoušel jsem všechno... Mám Fedora 5, nainstalovaný PostgreSQL a JBOSS. Potřebuji spustit skript spust_skr v /root po restartu. Přidal jsem
/root/spust_skr start
do rc.local. Začne se provádět, ale některé příkazy přeskočí. Skript začíná:
#!/bin/bash
#

touch /var/lock/subsys/local

case "$1" in
start)  # Spusteni POSTGRESU
 su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data &" 

	# Spousteni JABOSU
 /usr/jboss-4.0.2/bin/jboss_init_redhat.sh start 

 sleep 30 

	# Spusteni KANNELU

 /instal_ad/gateway-1.4.0/gw/bearerbox ..........
atd. První a druhý příkaz po návěstí start neproběhnou. Spustím-li skript z příkazové řádky, proběhne celý správně. I když spustím skript rc.local, proběhne vše správně. Při startu systému však ne. Nejsem expert v linuxu, poraďte prosím, na co jsem zapomněl.
23.11.2006 15:41 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: skript po startu v redhat
Jednoduše proto že při startu není nastavená proměnná PATH viz: command not found

Zadávejte spustitelné soubory i s cestou k nim.
24.11.2006 11:25 jiridos
Rozbalit Rozbalit vše Re: skript po startu v redhat
Díky, někde to řeší věc, ale příkaz
su
, resp.
/bin/su
se stále nevykonává. Jako kdyby příslušný uživatel tou dobou neexistoval, nebo co. Není to moc brzo - neměl bych pár sekund počkat?
24.11.2006 13:16 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: skript po startu v redhat
A proč to spouštíš přes su ?

Když to spouštíš přes roota ?

Jinak je to samozřejmé viz: man su

su - spustí shell pod jiným uživatelským a skupinovým ID

A v tom je zakopaný pes nepřebírá se nastavení proměných které nejsou exportované a další věci. (zda vůbec nalezne shell a pod....)
24.11.2006 13:52 jiridos
Rozbalit Rozbalit vše Re: skript po startu v redhat
Pardon, mělo být su - postgres -c ".....
24.11.2006 15:52 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: skript po startu v redhat
Prostě děláte to blbě.

Vykašlete se na nějaké skripty v /root/* a udělejte pokud ty programy už nemají skrypt na spouštění jednotlivých programů do /etc/rc.d/init.d a potom vytvořte linky do /etc/rc.d/rc0.d až rc6.d podle toho zda se má služba spustit nebo ukončit v příslušném runlevelu.

Příkladu v těch adresářích je dost K znamená konec - stop S znamená start číslo pořadí v jakém se to provede.
27.11.2006 17:48 jiridos
Rozbalit Rozbalit vše Re: skript po startu v redhat
Ano, zkoušel jsem. Nic. Vyřešil jsem to pomocí
crontab
s parametrem @reboot. Nevím, jak je to čisté, ale funguje to tak jak potřebuji.

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.