crontab i ubuntu-server
Jeg har fået lavet et script som kontrollere rx- og tx-pakker på netkortet, hver 20min.
Hvis rx- og tx-pakkerne afvigere meget fra sidste kontrol, ja så gøres der ingenting, men hvis forskellen er ret lille så udføres der en shutdown.
Altså en form for auto-shutdown hvis ikke der er aktivitet igennem netkortet.
Hvis scriptet køres manuel, så fungere det efter hensigten.
Jeg kan bare ikke få det til at køre automatisk via crontab, jeg får hverken log-filer eller andet som scriptet er sat op til at lave.
Jeg har forsøgt følgende linier i crontab:
0/20 * * * * root ~/auto_shutdown.sh #kontrolleret shutdown hvis ingen aktivitet på netkort
0,20,40 * * * * ~/auto_shutdown.sh #kontrolleret shutdown hvis ingen aktivitet på netkort
Hvad er der lige der sker?
- Log in to post comments
Kommentarer12
re: crontab i ubuntu-server
Hvor ligger dit script? /home/bortex/ eller /root/ ?
Scriptet ligger i /root/
Scriptet ligger i /root/
hvis du
hvis du sætter
MAILTO=din@em.ail i toppen af din crontab, får du så noget error-output på email?
EDIT: Dette kræver selvfølgelig at du har din server sat op med SMTP
re: crontab i ubuntu-server
I
man 5 crontab
kan jeg se, at dit første eksempel er beregnet til crontab.d, "system-crontab", mens det andet er til enkelte brugeres crontab.crontab.d er vel også rette sted for netop dette script.
Prøv evt. med */20 i stedet for 0/20.
Se også om CAVEATS i
man 5 crontab
skulle have nogen betydning for dig.Takker for svar.
Nu har jeg
Takker for svar.
Nu har jeg prøvet med en fil ved navn root under /etc/cron.d
I filen er der skrevet :
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
20/* * * * * root ~/power_saving/auto_shutdown.sh #kontrolleret shutdown hvis ingen aktivitet på netkort
#
Fik dog lige set at */20 giver alle minutter i 20 time, så det er nok der fejlen ligger.
Ønsker du at køre scriptet
Ønsker du at køre scriptet fra cron hvert 20 min. kan det gøre på flg. måde.
0-59/20 * * * * /sti/til/script
Tak til marx for mail
Tak til marx for mail funktionen. Nu har jeg modtaget en mail hvori der står at filen ikke findes. Hmm... så må jeg jo have kontrolleret min sti.
Filen /etc/crontab
Filen skal hedde /etc/crontab og findes formodentlig i forvejen.
I så fald så læg en ekstra linje ind, der med fuld sti peger på den fil, som du vil have kørt.
De herligste hilsner
Claus Agerskov
agerskov: Ja crontab findes
agerskov: Ja crontab findes og selvfølgelig kan man redigere i den. Ulempen ved at bruge crontab fremfor folderen /etc/cron.d, er at crontab "kan" blive ændret ved en evt. update af systemet. Dermed ikke sagt at den gør det, men man kan med sandsynlighed miste den linie man har tilføjet.
Derfor er det mere sikkert at lave en fil med en ens brugernavn uder /etc/cron.d folderen som indeholder den given linie man ville have tilføjet i crontab.
Nu kører scriptet som det skal og jeg kan se antal rx- og tx-pakker i min log-fil. Dog kan jeg se på datostemplet at den kun køres 20min over hver hele time.
Så nu prøver jeg ibm's linie.
0/20 * * * * root
0/20 * * * * root ~/auto_shutdown.sh ~ er dit problem du kan ikke bruge relative stier på den måde i crontab specielt ikke hvis crontab kører suid root og ikke realt root hvilket er sådan det bør værre.
Hvis det stadig ikke virker,
Hvis det stadig ikke virker, har du så tjekket om dit brugernavn står i filen /etc/cron.allow?
#10: Der virker fint med
#10: Der virker fint med ~
Ved at bruge 0-59/20 køre scriptet hver 20min, kan jeg se i log-filen. Så nu er alt som det skal være.
Mange tak for hjælpen.