[løst] Automatisk add/remove af crontab

chrisbookwood
Antal: 203
Tilmeldt:
24-09-2008
User is offline
[løst] Automatisk add/remove af crontab

Hej,

jeg har skrevet en app(i python) som gør en meget enkel ting og så er det dét.
Fordi den kun skal gøre en lille hurtig ting, men gøre det f.eks. hvert andet minut (eller hvert femtende minut), så har jeg kraftigt overvejet at bruge cron til dette, da den så ikke ligger og spilde, omend meget få, resourcer når den ikke laver noget. Jeg har bare ikke kunne finde ud af hvordan man kan tilføje og fjerne crontabs udover via "crontab -e" og det kan jeg jo ikke så godt bruge i programmet.

Hvordan løser jeg dette?


coe
Antal: 45
Tilmeldt:
09-11-2004
User is offline
Re: Automatisk add/remove af crontab

Du kunne foreksempel redigere direkte i crontab filen for den pågældende bruger.

/var/spool/cron/tabs/root (kun et eksempel)

/Carsten


chrisbookwood
chrisbookwood's picture
Antal: 203
Tilmeldt:
24-09-2008
User is offline
Re: Automatisk add/remove af crontab

Men det kræver jo at programmet får superuser powers når det skal ske, hvilket f.eks. crontab -e ikke påkræver. Eller tager jeg helt fejl der?


coe
Antal: 45
Tilmeldt:
09-11-2004
User is offline
Re: Automatisk add/remove af crontab

Det er rigtigt at det kræver root rettigheder at redigere direkte i filen, men der er en anden mulighed. Du kan pipe input ind i crontab kommandoen og dette kræver ikke root rettigheder.

echo "00 00 * * * kørdette" | crontab -

Husk stregen for enden. Hvis du skal fjerne den igen så brug crontab -r (fjerner dog alt i crontab).

/Carsten


runge
Antal: 122
Tilmeldt:
06-08-2006
User is offline
crontab <fil_som_indeholder_crontab_information>

Jeg benytter ofte at rette i en fil, som indeholder mine crontabindstillinger og derefter køre

crontab <fil_som_indeholder_crontab_information>

Dette kan gøres på brugerniveau


chrisbookwood
chrisbookwood's picture
Antal: 203
Tilmeldt:
24-09-2008
User is offline
Re: Automatisk add/remove af crontab

Jeg fandt til sidst en super løsning:

Hiver ud med crontab -l, redigerer og smider tilbage med crontab -.