En daemon i Linux kalt cron Kjører prosesser med jevne mellomrom. Det sjekker bestemte mapper på systemet ditt for at skript skal kjøre i en rekke mapper, inkludert /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly og /etc/cron.monthly. Det er også en fil som heter / etc / crontab.
Plasser skript i Cron-mapper
Du kan ganske enkelt legge inn skript i de aktuelle mappene for å få dem til å kjøre regelmessige intervaller.
For eksempel, åpne et terminalvindu og kjør følgende ls-kommando:
ls / etc / cron *
Du vil se listen over programmer eller skript som kjøres hver time, daglig, ukentlig og månedlig.
Problemet med disse mappene er at de er litt vage. For eksempel, daglig betyr at skriptet vil løpe en gang om dagen, men du har ingen kontroll over tiden som skriptet vil kjøre i løpet av den dagen.
Det er her crontab-filen kommer inn.
Ved å redigere crontab-filen kan du få et skript eller et program for å kjøre på nøyaktig dato og klokkeslett du vil at den skal løpe.
tillatelser
Kommandoen crontab krever at en bruker har tillatelser til å redigere en crontab-fil. Det er i utgangspunktet to filer som brukes til å administrere crontab-tillatelser:
- /etc/cron.allow
- /etc/cron.deny
Hvis filen /etc/cron.allow eksisterer, må brukeren som vil redigere crontabfilen, være i den filen. Hvis cron.allow-filen ikke eksisterer, men det er en /etc/cron.deny-fil, må brukeren ikke eksistere i den filen. Hvis begge filene eksisterer, overstyrer /etc/cron.allow filen /etc/cron.deny. Hvis det ikke finnes noen fil, avhenger det av systemkonfigurasjonen om en bruker kan redigere crontab.
Rotenbrukeren kan alltid redigere crontab-filen. Du kan enten bruke su-kommandoen til å bytte til rotbrukeren eller sudo-kommandoen for å kjøre kommandoen crontab.
Redigerer Crontab-filen
Hver bruker som har riktige tillatelser, kan lage sin egen crontab-fil. Cron-kommandoen ser i utgangspunktet etter alle crontab-filer og går gjennom hver av dem.
For å sjekke om du har en crontab-fil, kjør følgende kommando:
crontab-l
Hvis du ikke har en crontab-fil, meldingen "no crontab for For å opprette eller redigere en crontab-fil, kjør følgende kommando: crontab -e Filen som åpnes, har mye informasjon, men nøkkelen er eksemplet like før slutten av kommentaravsnittet (kommentarene er betegnet av linjer som begynner med #). # m h dom mon dow kommando 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / Det er 6 stykker informasjon som passer på hver linje i crontab-filen: For hvert element (unntatt kommandoen) kan du spesifisere et jokertegn. Se på følgende eksempel crontab linje: 30 18 * * * tar -zcf /var/backups/home.tgz / home / På 30 minutter, 18 timer og en hvilken som helst dag, måned og ukedag, vil denne crontaboppføringen zip og tar hjemmet til mappen / var / backups. For å få en kommando til å kjøre på 30 minutter forbi hver time, kjør følgende kommando: 30 * * * * kommando For å få en kommando å kjøre hvert minutt forbi 6 pm, kjør følgende kommando: * 18 * * * kommando Du må derfor være forsiktig med å sette opp dine crontab-kommandoer. For eksempel: * * * 1 * kommando Denne kommandoen løper hvert minutt av hver time hver dag i hver uke i januar. For å kjøre en kommando klokken 5 på 1. januar, ville du på følgende kommando til crontab-filen: Mesteparten av tiden vil du ikke fjerne crontab-filen, men du vil kanskje fjerne noen rader fra crontab-filen. Men hvis du vil fjerne brukerens crontab-fil, kjør følgende kommando: crontab -r En sikrere måte å gjøre dette på er å kjøre følgende kommando: crontab -i Operativsystemet ber om bekreftelse før det fjerner crontab-filen.
Slik fjerner du en Crontab-fil