hey
er der nogle af jer gæve ubuntubrugere der bruger disse?
jeg har rodet lidt med det men jeg kan bare ikke rigtig få det til at virke syntes jeg. så det ville være super rart hvis der var nogen der kunne melde ind med en lille guide og eller howto i første gang, og så derefter stå til rådighed for spørgsmål
crontab og cronjobs
-
- Indlæg: 3461
- Tilmeldt: 27. sep 2008, 23:51
- IRC nickname: sound
- Geografisk sted: København
-
- Indlæg: 56
- Tilmeldt: 10. aug 2009, 00:23
- IRC nickname: jlouis
Re: crontab og cronjobs
soundpartner skrev:hey
er der nogle af jer gæve ubuntubrugere der bruger disse?
jeg har rodet lidt med det men jeg kan bare ikke rigtig få det til at virke syntes jeg. så det ville være super rart hvis der var nogen der kunne melde ind med en lille guide og eller howto i første gang, og så derefter stå til rådighed for spørgsmål
Vi kan da starte blødt. Ubuntu (9.10) har 2 cronsystemer i spil: anacron og (vixie) cron. Forskellen består i at anacron kan finde ud af at køre jobs selv om systemet har været slukket i mellemtiden, medens cron kræver at maskinen kører hele tiden for at jobbet bliver udført.
Anacron er nemmest forklaret: Når dens daemon kører læses /etc/anacrontab for opgaver der skal udføres med givne intervaller og så kaster den sig over dem (som root). Bemærk at PATH bliver indskrænket væsentligt når den kører. By default køres opgaverne i
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
på de angivne intervaller af anacron. Brug et af disse scripts som udgangspunkt for dine egne (root)-scripts. Dokumentationen for anacrontab står i anacrontab(5), så
man 5 anacrontab
giver dig den del.
Cron kører som udgangspunkt opgaver i /etc/crontab og /etc/cron.d. Disse opgaver er by default hvad diverse pakker installerer i /etc/cron.d og så /etc/cron.hourly. Alt dette også som root. Dokumentationen for formatet er beskrevet i crontab(5) (man 5 crontab) hvor det nok mest grusomme er angivelse af det tidspunkt som opgaven skal køre. man-siden har en del eksempler i bunden som man kan starte fra. Man kan lave nogle temmeligt interessante tiltag hvis man ønsker det. /etc/crontab kaldes "Systemcrontabben" og denne kan køre jobs under andre brugere. Det kan jobs under etc/cron.d også.
Til sidst kan cron køre jobs for en bruger på systemet. Dette gøres ved at sætte VISUAL eller EDITOR miljøvariablen passende og køre 'crontab -e' som brugeren, hvilket installerer den som en crontab for denne bruger. Man undlader her at angive 'brugerfeltet' som siger hvilken bruger det skal køres under, da kun systemcrontabben har den mulighed. Selve filerne gemmes i /var/spool/cron/crontabs og kan kun læses af root:crontab by default.
Det, der som regel driller er miljøvariable, e.g. SHELL og PATH. Som udgangspunkt kan man ligesågodt sætte en fuld PATH til de programmer man ønsker kørt. Ligeledes er working directory noget speget, så skift det ud som det første i dit script som du ønsker kørt. Naturligvis skal scriptet være +x, men det har du/i nok regnet ud.
Så er ballet åbnet