Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Linux server - automaticke spustanie .sh  (Přečteno 5460 krát)

mimik007

  • Návštěvník
  • Příspěvků: 11
Linux server - automaticke spustanie .sh
« kdy: 03 Února 2012, 12:21:30 »
Zdravím,
 Mám jeden problém. Nainštaloval som CS server na Linuxe (Debian) ale tak ohľadom toho scriptu by malo byť to isté ako ubuntu. Inak všetko pekne ide, len potreboval by som, aby servery išli stále dajme tomu aj po reštarte ak VPS sa reštartne, aby to nabootovalo ten spúšťací súbor.
 Skúšal som to v súbore pridať bootmisc.sh - nakoniec som pridal

Kód: [Vybrat]
cd /home/27016
 ./start.sh



 ale nefičí to, isto sa to zapisuje do teho súboru ?, inak upozorním nieje to pipni ..
 Ale ak sa nachádzam v zložke 27016 .. a tam dam spustiť ./start.sh tak všetko ide.


 súbor start.sh vypadá takto, či nieje náhodou zle udaná cesta abo čo:
Kód: [Vybrat]
cd "/home/27016/"
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.


 ./hlds_run -game cstrike -pingboost 2 +sv_lan 0 +ip mojaipecka +port 27016 +maxplayers 20 +map de_dust2 +log on -master -noipx -secure  &


 Prosím nepíšte, že nájdi si na googli, bo už som hľadal od včera, len nejak to nemôžem rozchodiť ..
 S pozdravom mimik

beer

  • Host
Re:Linux server - automaticke spustanie .sh
« Odpověď #1 kdy: 03 Února 2012, 13:33:56 »
V tom souboru bootmisc.sh máš na začátku toto?
Kód: [Vybrat]
#!/bin/sh
cd /home/27016
 ./start.sh
Způsobů je celá řada, od etc/init.d až po rc.local. O tom souboru, co píšeš, jsem ještě neslyšel, ale vidím, že ho někdo používá
http://www.abclinuxu.cz/poradna/linux/show/243758
http://forum.debian-linux.cz/index.php?topic=588.0

mimik007

  • Návštěvník
  • Příspěvků: 11
Re:Linux server - automaticke spustanie .sh
« Odpověď #2 kdy: 03 Února 2012, 13:58:05 »
j mal som aj toto, ale stále nenabehne.

Uvediem tu jeden príklad, či to tak má byť abo prečo to robí:
Nachádzam sa v zložke, kde spúsťam script
Keď je zadaný takto ide:
súbor: start.sh a spúšťam ho v zložke 27016 cez príkaz: "./start.sh"
FUNGUJE
Kód: [Vybrat]
cd "/home/27016/"
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

 ./hlds_run -game cstrike -pingboost 2 +sv_lan 0 +ip mojaipecka +port 27016 +maxplayers 20 +map de_dust2 +log on -master -noipx -secure  &
Akonáhle tam pridám #!/bin/sh, NEJDE !!
NEFUNGUJE
Kód: [Vybrat]
#!/bin/sh
cd "/home/27016/"
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

 ./hlds_run -game cstrike -pingboost 2 +sv_lan 0 +ip mojaipecka +port 27016 +maxplayers 20 +map de_dust2 +log on -master -noipx -secure  &
a vypíše chybu: "-bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory"
Už ma z toho asi šľak trafí ..  :-\
« Poslední změna: 03 Února 2012, 14:03:02 od mimik007 »

ulo

  • Aktivní člen
  • *
  • Příspěvků: 327
    • Linux Mint Czech
Re:Linux server - automaticke spustanie .sh
« Odpověď #3 kdy: 03 Února 2012, 14:14:41 »
Mně se na Debianu osvědčilo po bootu spouštět skripty přes update-rc.d (vše dělat jako root):
- nakopíruju skript do /etc/init.d (např. /etc/init.d/muj_skript)
- poté zadám
Kód: [Vybrat]
update-rc.d muj_skript defaultsa pak buď po zadání
Kód: [Vybrat]
/etc/init.d/muj_skript start nebo po rebootu už skript jede po nabootování systému.

Jinak v tom tvém skriptu na začátku bych zkusil přidat pod to #!/bin/sh ještě toto: PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Tím se jasně definuje cesta, kde se má sh hledat na spuštění. Snad to pomůže.
PC-doma:  LinuxMint 13 KDE - AMD Athlon II X2 270, MB ASUS M5A78L LE, RAM 4 GB, ATI Radeon HD4350
PC-práce: LinuxMint 13 KDE - Intel Pentium 4, MB MSI 945G Neo, RAM 4 GB, GeForce 8400 GS
NB:  LinuxMint 15 KDE - Acer TravelMate 3002

mimik007

  • Návštěvník
  • Příspěvků: 11
Re:Linux server - automaticke spustanie .sh
« Odpověď #4 kdy: 03 Února 2012, 14:50:02 »
Ja už nemám nato nervy, keby to VPSko je primne taku jebnem doňho, že sa rozletí na x častí.
Už 2 dni to rieším a stále nič omg
no dám ti postup čo som presne spravil
1.Vytvoril som textovy subor dal nazov mojskript.sh
2.Doňho som hodil
Kód: [Vybrat]
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin

cd "/home/27015/"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
 
./hlds_run -game cstrike -pingboost 2 +sv_lan 0 +ip 31.31.78.13 +port 27015 +maxplayers 20 +map de_inferno +log on -master -noipx -secure  &
3.Nastavil som chmod na 755
4.Spustil som príkaz update-rc.d mojskript defaults
5.Vypísalo mi chybu:
Kód: [Vybrat]
update-rc.d mojskript defaults
update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d/mojskript
6.Kopol som väčším tlakom do bedne
7.Chystám vyvynuť väčší tlak na bedňu
ooomg ma z teho posratého linuxu raz ebne ..
Tu na fóre ste asi moja posledná šanca, žeby som to rozchodil  ;)

btw: Na free pipni.cz som robil testy a tam mi to ide, ale tam je Ubuntu. A teraz mám Debian 6 (najnovšiu verziu), 64bit
« Poslední změna: 03 Února 2012, 16:14:57 od mimik007 »

mimik007

  • Návštěvník
  • Příspěvků: 11
Re:Linux server - automaticke spustanie .sh
« Odpověď #5 kdy: 03 Února 2012, 16:45:48 »
Otázka ešte ako spustím ten script ak som v root zložke, nie v tej 27016.
Bo si myslím, že najskôr bude chyba tu

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re:Linux server - automaticke spustanie .sh
« Odpověď #6 kdy: 03 Února 2012, 19:02:31 »
Kód: [Vybrat]
-bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directoryTo zní jako kdybys to editoval ve windows, máš pokaženej konec řádku. Udělej to v linuxu (použij třeba nano) a bude to ok.

mimik007

  • Návštěvník
  • Příspěvků: 11
Re:Linux server - automaticke spustanie .sh
« Odpověď #7 kdy: 03 Února 2012, 20:35:28 »
j robil som to vo windowse, no vyskúšam teda v linuxe
ale môj veľký problém je prečo nejde spustiť hlds_run v iných zložkách ???
ak sa nachádzam v zložke 27016 kde je súbor umiestnený tak ide:
príkaz:
Kód: [Vybrat]
./hlds_run -game cstrike ... atď ...ale akonáhle sa nachádzam v inej zložke napr. v hlavnej root
a spustím:
Kód: [Vybrat]
/home/27016/./hlds_run -game cstrike ... atď ...tak NEJDE ! vypíše invalid game cstrike .. toto je priamy script, ale keď som chcel spustiť súbor start.sh z inej zložky tak nechcelo tiež, ale ani priamy script na súbor nechcelo čo je hore ..
« Poslední změna: 03 Února 2012, 21:02:23 od mimik007 »

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re:Linux server - automaticke spustanie .sh
« Odpověď #8 kdy: 03 Února 2012, 21:04:46 »
V tom skriptu se zřejmě počítá že určité soubory jsou v aktuální složce. Prostě do toho rc.local nebo kam to dáš se nejdřív přesuň do adresáře
Kód: [Vybrat]
...
cd /home/27016/
./hlds_run -game cstrike ... atď ...
...

mimik007

  • Návštěvník
  • Příspěvků: 11
Re:Linux server - automaticke spustanie .sh
« Odpověď #9 kdy: 03 Února 2012, 21:09:02 »
to som taktiež skúšal, ale je to bez odozvy, nič sa nespustí ..

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re:Linux server - automaticke spustanie .sh
« Odpověď #10 kdy: 03 Února 2012, 21:21:31 »
a už jsi opravil ten konec řádku?

mimik007

  • Návštěvník
  • Příspěvků: 11
Re:Linux server - automaticke spustanie .sh
« Odpověď #11 kdy: 03 Února 2012, 21:43:15 »
čiže je to opravené, som to spravil cez nano ako si radil, funguje už z hocijakej zložky, teraz mi treba ešte spraviť, aby to automaticky spustilo ..
// Edit
Už to všetko fičí KONEČNE ! :-), ale musel som do scriptu umiestniť ešte
#! /bin/sh
Kód: [Vybrat]
### BEGIN INIT INFO
# Provides:          script
# Required-Start:    $remote_fs $syslog $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/script if it exist
### END INIT INFO
Diky, pekne všetkým za pomoc. K+
« Poslední změna: 04 Února 2012, 13:40:00 od mimik007 »

 

Provoz zaštiťuje spolek OpenAlt.