Suk ja så fik jeg tid til at lave det, men har så¨kommet ude i 2 problerm
hvordan får jeg det langt ind i en cron ? for køre ubuntu server.
og hvornår gir jeg cron ret til at køre filen som root ?
Watcdog og reset ?
-
- Admin
- Indlæg: 20878
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Watcdog og reset ?
Kode: Vælg alt
sudo nano /etc/crontab
Formatet er:
minut time månedsdag måned ugedag bruger kommando
Så hvis du vil have et script kørt med root rettigheder hvert 10 minut skriver du:
*/10 * * * * root watcdog.sh
(alle minutter divideret med 10)
Hvis du vil have det engang i timen om mandagen skriver du:
0 * * * 1 root watcdog.sh
(når minutter viser 0 og det er første dag i ugen)
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Watcdog og reset ?
Der findes en service der kan nøjagtig det du gerne vil - og det er at genstarte et program, hvis det ikke kører.
Jeg kigger i arkiverne efter dets pakkenavn. Jeg rapporterer her tilbage når jeg har fundet ud af noget.
Et script via cron er polling, som ikke er helt optimalt.
Programmet herover kalder et par systemkald for at få kernen til at melde tilbage, når en mappe i /proc bliver fjernet (= et program er stoppet).
Det er meget smartere, fordi kernen straks melder tilbage til programmet, som så bare kan sove, imens der ikke skal gøres noget.
Når et program sover bruger det ikke procestid (=bruger tid på en mikroprocessor/CPU).
Edit 20110520 22:18
Fandt den med søgeordet: restart
pakken hedder daemontools. Du vil sikkert også gerne have daemontools-run med.
Programmet behøvet en arbejdsmappe, hvori der for hvert program der automatisk skal startes/genstartes skal ligge et script der starter programmet.
I tilfældet med dit program er det bare følgende indhold ned i et script:
daemontools programmet skal køre med superbrugerrettigheder, for at kunne starte programmer, hvor du normalt bruger sudo foran.
Skal du køre et program der ikke skal have root rettigheder gør du sådan her fra et program der har root rettigheder:
/Lars
Jeg kigger i arkiverne efter dets pakkenavn. Jeg rapporterer her tilbage når jeg har fundet ud af noget.
Et script via cron er polling, som ikke er helt optimalt.
Programmet herover kalder et par systemkald for at få kernen til at melde tilbage, når en mappe i /proc bliver fjernet (= et program er stoppet).
Det er meget smartere, fordi kernen straks melder tilbage til programmet, som så bare kan sove, imens der ikke skal gøres noget.
Når et program sover bruger det ikke procestid (=bruger tid på en mikroprocessor/CPU).
Edit 20110520 22:18
Fandt den med søgeordet: restart
pakken hedder daemontools. Du vil sikkert også gerne have daemontools-run med.
Programmet behøvet en arbejdsmappe, hvori der for hvert program der automatisk skal startes/genstartes skal ligge et script der starter programmet.
I tilfældet med dit program er det bare følgende indhold ned i et script:
Kode: Vælg alt
#!/bin/bash
/usr/sbin/service subsonic restart
daemontools programmet skal køre med superbrugerrettigheder, for at kunne starte programmer, hvor du normalt bruger sudo foran.
Skal du køre et program der ikke skal have root rettigheder gør du sådan her fra et program der har root rettigheder:
Kode: Vælg alt
su -l -c <brugernavn> '</sti/til/et_andet_program>'
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Admin
- Indlæg: 20878
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Watcdog og reset ?
Så vidt jeg forstår stopper programmet ikke med at køre men bare med at fungere korrekt, er det rigtig? For så tror jeg ikke deamontool vil kunne opdage det.
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Watcdog og reset ?
AJenbo skrev:Så vidt jeg forstår stopper programmet ikke med at køre men bare med at fungere korrekt, er det rigtig? For så tror jeg ikke deamontool vil kunne opdage det.
Det er rigtig nok at daemontools kigger kun efter om programmer kører eller ej.
Hvis problemet er at det bare holder op med at virke sådan uden vidrere, så ser det ud til at være en deadlock[1] eller en livelock[2], som ikke kan løses af programmøren.
Løsningen er ofte at bruge meddelelser[3] og køer (deque/DeQueue[4]), men nu er programmet ikke min hovedpine - såeh - det må være op til programmøren ...
[1] deadlock: http://en.wikipedia.org/wiki/Deadlock
[2] livelock: http://en.wikipedia.org/wiki/Livelock#Livelock
[3] meddelelser i forbindelse med samtidighed (concurrency): http://en.wikipedia.org/wiki/Message_passing
[4] deque: http://en.wikipedia.org/wiki/Double-ended_queue
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 64
- Tilmeldt: 26. aug 2010, 17:19
- IRC nickname: Edina
Re: Watcdog og reset ?
AJenbo skrev:Formatet er:
minut time månedsdag måned ugedag bruger kommando
Så hvis du vil have et script kørt med root rettigheder hvert 10 minut skriver du:
*/10 * * * * root watcdog.sh
(alle minutter divideret med 10)
Hvis du vil have det engang i timen om mandagen skriver du:
0 * * * 1 root watcdog.sh
(når minutter viser 0 og det er første dag i ugen)
det vil sige hvis jeg ska checke hvert minut ska der stå
*/1 * * * * root watcdog.sh
-
- Admin
- Indlæg: 20878
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Watcdog og reset ?
Det ville være godt hvis du beholder citeret tekst som et citat, det gør det nemmer at læse hvad du skriver, jeg har rettet det i dit indlæg.
*/1 ville nok virke fint men det er noget mystisk at gøre det sådan, det er lige som at sige "Allan deler 60 æbler med sig selv, hvor mange æbler får Allan?", i stedet for blot "Allan har 60 æbler".
* * * * * root watcdog.sh
*/1 ville nok virke fint men det er noget mystisk at gøre det sådan, det er lige som at sige "Allan deler 60 æbler med sig selv, hvor mange æbler får Allan?", i stedet for blot "Allan har 60 æbler".
* * * * * root watcdog.sh
-
- Indlæg: 64
- Tilmeldt: 26. aug 2010, 17:19
- IRC nickname: Edina
Re: Watcdog og reset ?
jo men jeg vil ha den tjekker en gang i minutet
-
- Admin
- Indlæg: 20878
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Watcdog og reset ?
Alle (*) 60 minutter er også engang hvert minut i time. 60/1 = 60.