Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Auto reboot service  (gelezen 1476 keer)

Offline Tankey

  • Lid
Auto reboot service
« Gepost op: 2011/10/18, 14:46:50 »
Beste mensen,

Ik heb al een lange tijd een vraag over hoe een service restarten op een bepaald tijdstip in een .sh file.

Dit script moet bijv elke nacht de service om 4uur restarten.
Ik heb dit nodig omdat dat de qualiteit van mijn Game Servers vergroot.

Bijvoorbeeld dat de commandline zo word: ./restart.sh ./service.x86
En dat in de restart.sh dus die auto reboot staat.

Het zou echt geweldig zijn als iemand mij hiermee kan helpen. Ben er al geruime tijd naar opzoek.
En aangezien ik meerdere gameservers heb, met de zelfde execute naam, kan ik dus niet de killall command gebruiken.. (want ik wil ze allemaal na elkaar restarten, en niet allemaal tegelijk. Lijkt me beter voor de server).

Ik ben eventueel bereid ervoor te betalen.

Hartelijk dank.
Reno

Re: Auto reboot service
« Reactie #1 Gepost op: 2011/10/18, 15:05:14 »
Laat dat betalen maar zitten, want ik denk dat het gewoon makkelijk met een scriptje kan.
Ik zou het niet precies weten, maar het zou dan ongeveer zo eruit komen te zien:
if time = 4:00
then [execute code]

Ik zit momenteel niet op Ubuntu, anders zou ik even de man pagina's induiken over tijdcommando's.
Desktop:
Processor: Intel® Core™2 Quad CPU Q8300 @ 2.50GHz × 4, Geheugen: 3.9Gb, GPU: nVidia 220GT OS: Windows 7 64 bit / Ubuntu 12.04 64 bit
Notebook:
Processor: Intel® Core™ i7-4700MQ, Geheugen: 8Gb, GPU: nVidia GTX765m (met Optimus) OS: Windows 8 64 bit / Elementary OS Luna 64 bit

Offline Tankey

  • Lid
Re: Auto reboot service
« Reactie #2 Gepost op: 2011/10/18, 16:39:23 »
Is het mogelijk die command gewoon in een .sh bestandje te zetten ja?

Ik heb nog nooit van zulke commando gehoort :P

Hartelijk dank voor uw reactie!

Re: Auto reboot service
« Reactie #3 Gepost op: 2011/10/18, 17:06:23 »
Ik weet zelf niet veel van scriptjes, maar wat ik wel weet is dat het simpele commando's uitvoert. Veel hebben ook sudo apt-update && sudo apt-upgrade in een bestandje staan, hoeven ze het niet steeds in te voeren.
Ikzelf heb er ook 3 staan, 1 om fouten van Compiz te loggen, 1 om de temperatuur van mij GPU te meten en 1 met compiz --replace voor als Compiz crasht.
Allemaal zijn ze niet langer dan een paar regels.
Maar ik neem aan dat je wat taken om 4u 's nachts wilt laten gebeuren, en die taken worden geregeld via de terminal?
Desktop:
Processor: Intel® Core™2 Quad CPU Q8300 @ 2.50GHz × 4, Geheugen: 3.9Gb, GPU: nVidia 220GT OS: Windows 7 64 bit / Ubuntu 12.04 64 bit
Notebook:
Processor: Intel® Core™ i7-4700MQ, Geheugen: 8Gb, GPU: nVidia GTX765m (met Optimus) OS: Windows 8 64 bit / Elementary OS Luna 64 bit

Re: Auto reboot service
« Reactie #4 Gepost op: 2011/10/18, 17:14:18 »
even voor de duidelijkheid, je wilt één service later herstarten om 4:00 in de nacht?

als het echt een service is:
Code: (shell) [Selecteer]
service <service_naam> restart
anders moet je even zegen wat je wilt herstarten, soms heeft het programma een parameter om hem te herstarten en dat zou het veel makkelijker maken.


ADSL? nee, neem ADHD, dat is pas snel!

Re: Auto reboot service
« Reactie #5 Gepost op: 2011/10/18, 18:44:10 »
Et voila:
#!/bin/bash

HOUR=$(date '+%H')
while [ $HOUR == 4 ]
do
    #execute code
done
Waar #execute code veranderd moet worden in de service die je wilt herstarten.
Dat opslaan in een bestand.sh en dan bij je opstarttoepassingen zetten.
Desktop:
Processor: Intel® Core™2 Quad CPU Q8300 @ 2.50GHz × 4, Geheugen: 3.9Gb, GPU: nVidia 220GT OS: Windows 7 64 bit / Ubuntu 12.04 64 bit
Notebook:
Processor: Intel® Core™ i7-4700MQ, Geheugen: 8Gb, GPU: nVidia GTX765m (met Optimus) OS: Windows 8 64 bit / Elementary OS Luna 64 bit

Offline Tankey

  • Lid
Re: Auto reboot service
« Reactie #6 Gepost op: 2011/10/18, 23:58:35 »
Waaauw!

Bedankt man, dat is precies wat ik zocht:D

+10

Thank you very much!!

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Auto reboot service
« Reactie #7 Gepost op: 2011/10/19, 08:42:13 »
Kan dit niet veel makkelijker en beter gedaan worden via een cron job?
Dat is er tenslotte voor gemaakt.

Pas het bestand /etc/crontab aan en voeg iets als dit eraan toe:
0 4    * * *   user    /pad/naar/script
Dit zal iedere dag om 4:00 uur het script uitvoeren als de gebruiker "user".
Pas het aan naar wens.

In het script kan je dan zoiets zetten:
#!/bin/bash
cd /pad/naar/service
./restart-service

Meer informatie kan je opvragen via het commando man 5 crontab, druk op q om af te sluiten.

Het voorbeeldscript van Cheap Applications werkt waarschijnlijk ook wel, maar het is niet de standaardmanier om iets op een bepaalde tijd te runnen.
En het kan zijn dat ik niet helemaal wakker ben, maar blijft dat script niet continue de service restarten vanaf 4:00 tot aan 4:59? Dat lijkt me niet helemaal de bedoeling ;)

Re: Auto reboot service
« Reactie #8 Gepost op: 2011/10/19, 10:19:06 »
Nee, heb het zelf gisteren avond getest met 18 uur, en die bleef niet de hele tijd 'hallo' als test zeggen ;)
Zou je inderdaad wel denken ja. Anders moet het even in een if veranderd worden, dan voert hij het maar 1x uit als het goed is.

En van die cron job wist ik niet, maar als het maar werkt toch? ;)
Desktop:
Processor: Intel® Core™2 Quad CPU Q8300 @ 2.50GHz × 4, Geheugen: 3.9Gb, GPU: nVidia 220GT OS: Windows 7 64 bit / Ubuntu 12.04 64 bit
Notebook:
Processor: Intel® Core™ i7-4700MQ, Geheugen: 8Gb, GPU: nVidia GTX765m (met Optimus) OS: Windows 8 64 bit / Elementary OS Luna 64 bit

Re: Auto reboot service
« Reactie #9 Gepost op: 2011/10/19, 10:25:38 »
Cron is eigenlijk meer aangewezen voor auto-processen; ik heb ook van een forumlid daar een kleine inleiding over gehad ivm auto -reboots en ons progje dat moest werken.

Cron is, zeker op server niveau, het meest gebruikte om auto-processen te maken.

Op de Wiki (engelstalig) staat goede uitleg daarover.  https://help.ubuntu.com/community/CronHowto

Maar ook jou scriptje zal ongetwijfeld goed werken, dat is eigenlijk uit te testen. cron is een proces dat echter gegarandeerd blijft werken (ongeacht wat) op de achtergrond.
« Laatst bewerkt op: 2011/10/19, 10:28:28 door Joris Donders »
Gubuntu 17.04 wegens verdwijnen Unity binnenkort

Offline markba

  • Lid
    • http://markbaaijens.nl/
Re: Auto reboot service
« Reactie #10 Gepost op: 2011/10/19, 10:27:39 »
En van die cron job wist ik niet, maar als het maar werkt toch? ;)
Mwa, niet helemaal. Zoals Johan zegt is cron gemaakt voor scheduling. Het zou dan raar zijn om iets anders te gebruiken; het kan natuurlijk wel, maar het is altijd omslachtiger.

Om maar een voorbeeld te noemen: hoe ga je dat scriptje activeren: bij een systeem-boot of bij een gebruikerslogin? En als je daar dan uit bent, hoe wil je dat dan dan doen? En onder welk gebruikers-account mag/moet het scriptje werken? En hoe verwerk je dat bij je activatiemechanisme? Bij cron hoef je hier in ieder geval niet over na te denken, want dat is al gedaan.