En daemon i Linux kaldes cron kører processer med jævne mellemrum. Det kontrollerer visse mapper på dit system, for at scripts kan køre i en række mapper, herunder /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly og /etc/cron.monthly. Der er også en fil kaldet / etc / crontab.
Placering af scripts i Cron-mapper
Du kan blot placere scripts i de relevante mapper for at få dem til at løbe regelmæssigt.
For eksempel skal du åbne et terminalvindue og køre følgende ls-kommando:
ls / etc / cron *
Du vil se listen over programmer eller scripts, der køres hver time, dagligt, ugentligt og månedligt.
Problemet med disse mapper er, at de er lidt vage. For eksempel, daglige betyder at scriptet kører en gang om dagen, men du har ingen kontrol over den tid, scriptet vil køre i løbet af den dag.
Det er her, hvor crontabfilen kommer ind.
Ved at redigere crontabfilen kan du få et script eller et program til at køre på den nøjagtige dato og klokkeslæt, du vil have den til at køre.
Tilladelser
Crontab-kommandoen kræver, at en bruger har tilladelser til at redigere en crontab-fil. Der er grundlæggende to filer, der bruges til at håndtere crontab tilladelser:
- /etc/cron.allow
- /etc/cron.deny
Hvis filen /etc/cron.allow eksisterer, skal den bruger, der ønsker at redigere crontab-filen, være i den pågældende fil. Hvis filen cron.allow ikke eksisterer, men der er en /etc/cron.deny-fil, må brugeren ikke eksistere i den pågældende fil. Hvis begge filer eksisterer, overstyrer /etc/cron.allow filen /etc/cron.deny. Hvis der ikke findes nogen fil, afhænger det af systemkonfigurationen, om en bruger kan redigere crontab.
Rotenbrugeren kan altid redigere crontab-filen. Du kan enten bruge su-kommandoen til at skifte til root-brugeren eller sudo-kommandoen for at køre kommandoen crontab.
Redigering af Crontab-filen
Hver bruger, der har passende tilladelser, kan oprette deres egen crontab-fil. Cron-kommandoen søger i grunden alle crontab-filer og løber gennem hver af dem.
For at kontrollere, om du har en crontab-fil, kør følgende kommando:
crontab-l
Hvis du ikke har en crontab-fil, er meddelelsen "no crontab for For at oprette eller redigere en crontab-fil, kør følgende kommando: crontab -e Filen, der åbnes, har mange oplysninger, men hoveddelen er eksemplet lige før afslutningen af kommentarafsnittet (kommentarer er angivet ved linjer der begynder med #). # m h dom mon dow kommando 0 5 * * 1 tjære -zcf /var/backups/home.tgz / home / Der er 6 stykker information, der passer til hver linje i crontab-filen: For hvert element (undtagen kommandoen) kan du angive et jokertegn. Se på følgende eksempel crontab linje: 30 18 * * * tjære -zcf /var/backups/home.tgz / home / Om 30 minutter, 18 timer og en hvilken som helst dag, måned og ugedag, vil denne crontab post blive zip og tjene hjemmemappen til mappen / var / backups. For at få en kommando til at køre om 30 minutter forbi hver time, kør følgende kommando: 30 * * * * kommando For at få en kommando til at køre hvert minut forbi kl. 6, skal du køre følgende kommando: * 18 * * * kommando Du skal derfor være forsigtig med at oprette dine crontab-kommandoer. For eksempel: * * * 1 * kommando Denne kommando vil køre hvert minut hver time hver dag i hver uge i januar. For at køre en kommando kl. 5 på 1. januar ville du ved kommandoen følgende til crontab-filen: Det meste af tiden vil du ikke fjerne crontab filen, men du vil måske fjerne nogle rækker fra crontab filen. Men hvis du vil fjerne brugerens crontab-fil, skal du køre følgende kommando: crontab -r En sikrere måde at gøre dette på er at køre følgende kommando: crontab -i Operativsystemet beder om verifikation, før den fjerner crontab-filen.
Sådan fjerner du en Crontab-fil