Nieco ako casovac :-/

Všetko ohľadom Linuxu...
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Nieco ako casovac :-/

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

Zdravím,
Mam taký problém asi vsetci poznate pipni.cz a ich vserver.
Potreboval by som nejaky script, ktorý by dajme tomu, ze vzdy o 4 ráno restartol server. :?

Toť vše.
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

pouzi cron alebo anacron

Kód: Vybrať všetko

man cron
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

turtlak69 napísal:pouzi cron alebo anacron

Kód: Vybrať všetko

man cron
jj diq taketo nieco som hladal, ale este by som poprosil zdrojový kod
scriptu, ktory restartne server.
Vopred dik
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Stačí, ak použiješ program shutdown (alebo soft-link na ten program reboot).
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

alebo skriptik v ktorom bude jednoducho

Kód: Vybrať všetko

init 6
. tak by sa to tiez malo dat
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

A nevedeli by ste o niecom takom, ze ked mam spustetni server dajme tomu ze SA MP a ked server spadne automaticky ho spusti ? Ja si to predstavujem nejak tak, ze by ten skript monitoroval port 7777 a ked by port nebezal spustil by skript ./samp022svr co vy nato ?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Skôr by mal kontrolovať, či taký proces beží a ak nie, tak ho spustí (ten skript by sa spúšťal cez cron).
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

chrono napísal:Skôr by mal kontrolovať, či taký proces beží a ak nie, tak ho spustí (ten skript by sa spúšťal cez cron).
alebo ja som to len thak trepol lenze ja nato nemam aby som take nieco napisal :P :oops:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Možností je viac. Jedna by mohla vyzerať nejako takto:

Kód: Vybrať všetko

#!/bin/sh

PNAME=samp022svr

pidof $PNAME &> /dev/null || echo Nebezi
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

to moj problem velmi neriesi ono by to malo kontrolovat aspon kazdych 30 sek. proces ci ide samp022svr ak ano nic nespravi a ak nejde vykona tento prikaz ./samp022svr
Nwm ako je to v linuxe, ale v php-cku by sa to dalo jednoducho cez podmienku ale v linuxe som lavý.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To spúšťanie vyriešiš pomocou cron.
Podmienka tam už je: prikaz1 || prikaz2 (prikaz2 sa vykoná iba v prípade, že zlyhá príkaz1). Ale ak chceš, aby to vyzeralo ako "normálna" podmienka, môžeš použiť:

Kód: Vybrať všetko

#!/bin/sh

PNAME=samp022svr

pidof $PNAME &> /dev/null
if [ $? -ne 0 ]
then
        echo Nebezi
fi
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

Na nieco som prisiel ked som spominal na php a doslo mi preco nepouzit cyklus skusil som to teda a takto nejak to vyzera

Kód: Vybrať všetko

#!/bin/bash 

while [ true ]; do 
        echo `date` "Aktualny stav:"; 
        PNAME=samp022svr 

       pidof $PNAME &> /dev/null 
       if [ $? -ne 0 ]  
       then 
       echo ./samp022svr
       fi
       echo "Bezi"; 
       sleep 5; 
done
nieco som pochitil aj na linux.nfo.sk, ale dik chrono :)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ak to chceš urobiť pomocou toho cyklu, nepotrebuješ tam tú kontrolu, či ten program beží. Stačí niečo ako:

Kód: Vybrať všetko

#!/bin/bash 

while [ true ]
do 
       ./samp022svr
       sleep 5
done
Teda: program sa spustí; ak sa z nejakého dôvodu ukončí, počká sa 5 sekúnd a spustí sa znovu. Asi by sa to mohlo nejako vylepšiť, lebo takto sa ti to bude dosť ťažko ukončovať (najskôr budeš musieť zostreliť ten skript, aby ti ten program nespúšťal a až potom "killneš" ten server")
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

to akoze by sa kazdych 5 sekund restartol ten game server ?
Teraz ma neber ako dementa ale uz mi trochu j*be s toho tepla sprosty AMD Athlon to je ako 1000 W ziarovka
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Nie. Keď spustíš ten server bez znaku & na konci, tak to ostane na tom príkaze "zablokované" a ďalší príkaz sa nespustí (ten sleep 5) až kým sa ten program neukončí (či už tak, že mu pošleš príkaz, aby sa ukončil, alebo napr. nejakou chybou a nasledujúcim pádom).
Hneď ako sa ten server akýmkoľvek spôsobom ukončí, zavolá sa sleep 5 a po 5 sekundách sa opäť spustí ten server.
Tú pauzu tam nechaj a prípadne ju aj zvýš pre prípad, že by sa ten server z nejakého dôvodu nedokázal spustiť; ak by to tam nebolo, tak by sa ten server spúšťal príliš rýchlo a mohol by zaťažiť celý server.
ⓢⓐⓟⓛⓔⓡ
Star
Star
Používateľov profilový obrázok
Príspevky: 621
Registrovaný: 06 jún 2008, 15:07
Bydlisko: nedaleko od hojko.com

Príspevok od používateľa ⓢⓐⓟⓛⓔⓡ »

ahá, uz chapem velka vdaka fakt patrí ti odomňa velké ĎAKUJEM :)
Napísať odpoveď