Debian fórum

Dotazy => Všeobecná podpora => Téma založeno: bighead kdy 05. 07. 2010, 23:36:26

Název: spouštení aplikací při startu serveru
Přispěvatel: bighead kdy 05. 07. 2010, 23:36:26
Zdravím,
lámu si hlavu se spouštěním aplikace při spuštění serveru.
v cd /etc/init.d  bootmisc.sh  jsem dal na poslední řádek :
cd /root/mute 
./mute.sh

práva pro mute.sh mám nastavená a při ručním spuštění funguje.
obsah mute.sh :
screen -A -h 1500 -m -d -S mute ./mute_run

děkuji za vaše rady, nejsem v linuxu žádnej odborník :(
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: pakanek kdy 06. 07. 2010, 06:36:34
Máš na prvním řádku skriptů shebang tj. něco jako #!/bin/sh ? Když spustíš mute.sh z bootmisc.sh mimo screen přímo v shellu, tak skript funguje? (nevím co přesně dělá samotný přepínač -d)
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: bighead kdy 06. 07. 2010, 08:40:40
Citace od: pakanek kdy 06. 07. 2010, 06:36:34
Máš na prvním řádku skriptů shebang tj. něco jako #!/bin/sh ? Když spustíš mute.sh z bootmisc.sh mimo screen přímo v shellu, tak skript funguje? (nevím co přesně dělá samotný přepínač -d)

právě když použiji ten shebang, tak to hlásí: /bin/sh^M: bad interpreter: No such file or directory

zkoušel jsem to hledat na googlu, ale moc jsem si tam neporadil
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: pakanek kdy 06. 07. 2010, 09:26:47
hlásí: /bin/sh^M: bad interpreter: No such file or directory

Nemá ten soubor špatné kódování? Opravíš jej pomocí příkazu
dos2unix mute.sh
nebo
vi mute.sh
:set filetype=unix
:wq!

To samé pro ten druhý skript mute_run

Příkaz dos2unix by měl být v balíku tofrodos.
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: bighead kdy 06. 07. 2010, 10:05:46
Citace od: pakanek kdy 06. 07. 2010, 09:26:47
hlásí: /bin/sh^M: bad interpreter: No such file or directory

Nemá ten soubor špatné kódování? Opravíš jej pomocí příkazu
dos2unix mute.sh
nebo
vi mute.sh
:set filetype=unix
:wq!

To samé pro ten druhý skript mute_run

Příkaz dos2unix by měl být v balíku tofrodos.

pomocí vi mute.sh se mi to povedlo udělat, už pod tím jde spouštět, ted to zkusím umístit do bootmisc.sh, díky za pomoc, snad už to ted pojede se spouštěním...

UPDATE: tak jsem to udělal takto : http://www.abclinuxu.cz/faq/skripty/jak-spustit-skript-pri-startu-systemu-distribuce-debian   a funguje
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: bighead kdy 06. 07. 2010, 11:06:58
přijde mi, že ten bootmisc.sh se nespustí při spustění systému, neznáte nějaký jiný druh souboru, kam bych to umístil, aby se to spustilo se systémem ?
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: pakanek kdy 06. 07. 2010, 11:49:59
Pro triviální záležitosti by měl stačit rc.local v adresáři /etc popř. /etc/init.d. Ještě by jsi mohl vytvořit nový skript a nastavit jeho spouštění/zastavování v jednotlivých runlevelech pomocí update-rc.d. Skript rc.local se spouští myslím až na konci startu.
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: bighead kdy 07. 07. 2010, 17:36:30
spouštění už jsem vymyslel, teď bych potřeboval vymyslet automatické nahození aplikace po jejím pádu....

tato aplikace pojmenována auto.sh

#!/bin/sh
SLUZBA=mute
if [ "$(pidof $SLUZBA)" ]
then
echo "Sluzba $SLUZBA na $HOSTNAME bezi s PID $(pidof $SLUZBA)..."
else
echo "Sluzba $SLUZBA na $HOSTNAME nebezi, zkousim ji nastartovat..."

cd /etc/rc2.d
./S09skriptmuze.sh

fi

dále si otevřu crontab -e
a vložím řádek 1.
* * * * * /root/auto.sh> /dev/null

teď by to mělo každou minutu scanovat, zda-li pid je on...

když spustím auto.sh tak aplikace napíše, že je off a nahodí mute.sh...když mute.sh shodím, nic se nestane už nenaběhne

toto jsem využil ze stránky http://www.chovancik.cz/2007/08/18/automaticky-restart-sluzby-pri-jejim-padu-debian-ubuntu-pidof-cron/



Název: Re: spouštení aplikací při startu serveru
Přispěvatel: pakanek kdy 07. 07. 2010, 23:35:33
Připiš za shebang skriptu něco jako
if [ -n "$DEBUG" ]
then
 set -v
  set -x
fi


A v případě problémů spusť skript jako DEBUG=1 ./skript.sh
Název: Re: spouštení aplikací při startu serveru
Přispěvatel: bighead kdy 08. 07. 2010, 11:15:34
Citace od: pakanek kdy 07. 07. 2010, 23:35:33
A v případě problémů spusť skript jako DEBUG=1 ./skript.sh

funguje, díky