En daemon i Linux heter cron kör processer med jämna mellanrum. Det kontrollerar vissa mappar på ditt system för att skript ska köras i en serie mappar inklusive /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly och /etc/cron.monthly. Det finns också en fil som heter / etc / crontab.
Placera skript i Cron-mappar
Du kan helt enkelt placera skript i relevanta mappar för att få dem att löpa regelbundet.
Öppna till exempel ett terminalfönster och kör följande kommando ls:
ls / etc / cron *
Du kommer att se listan över program eller skript som körs varje timme, dagligen, veckovis och månadsvis.
Problemet med dessa mappar är att de är lite vaga. Till exempel, dagligen innebär att manuset kommer att köras en gång om dagen men du har ingen kontroll över den tid som skriptet körs under den dagen.
Det är här crontab-filen kommer in.
Genom att redigera crontabfilen kan du få ett manus eller program att köra på exakt datum och tid du vill att den ska springa.
Behörigheter
Kommandot crontab kräver att en användare har behörigheter att redigera en crontab-fil. Det finns i princip två filer som används för att hantera crontab-behörigheter:
- /etc/cron.allow
- /etc/cron.deny
Om filen /etc/cron.allow existerar, måste användaren som vill redigera crontabfilen vara i den filen. Om filen cron.allow inte existerar men det finns en /etc/cron.deny-fil, måste användaren inte existera i den filen. Om båda filerna finns, övergår /etc/cron.allow filen /etc/cron.deny. Om det inte finns någon fil, beror det på systemkonfigurationen om en användare kan redigera crontab.
Rotenanvändaren kan alltid redigera crontabfilen. Du kan antingen använda su-kommandot för att växla till root-användaren eller sudo-kommandot för att köra kommandot crontab.
Redigering av Crontab-filen
Varje användare som har behöriga behörigheter kan skapa sin egen crontab-fil. Cron-kommandot söker i princip alla crontab-filer och går igenom var och en av dem.
För att kontrollera om du har en crontabfil kör följande kommando:
crontab-l
Om du inte har en crontab-fil meddelandet "nej crontab för För att skapa eller redigera en crontabfil kör följande kommando: crontab -e Filen som öppnas har mycket information men nyckeln är exemplet strax före slutet av kommentarfältet (kommentarerna är betecknade med rader som börjar med #). # m h dom mon dow kommando 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / Det finns 6 bitar av information som passar på varje rad i crontab-filen: För varje objekt (förutom kommandot) kan du ange ett jokertecken. Titta på följande exempel crontab linje: 30 18 * * * tar -zcf /var/backups/home.tgz / home / Vid 30 minuter, 18 timmar och varje dag, månad och veckodag, kommer denna crontab posten zip och tar hemkatalogen till mappen / var / backups. För att få ett kommando att köra vid 30 minuter förbi varje timme, kör följande kommando: 30 * * * * kommando För att få ett kommando att köra varje minut före 6 pm, kör följande kommando: * 18 * * * kommando Därför måste du vara försiktig med att konfigurera dina kommandon för crontab. Till exempel: * * * 1 * kommando Detta kommando körs varje minut varje timme varje dag i varje vecka i januari. För att köra ett kommando klockan 5 på 1 januari skulle du vid följande kommando till crontab-filen: För det mesta vill du inte ta bort crontab-filen, men du kanske vill ta bort några rader från crontab-filen. Om du vill ta bort användarens crontab-fil kör du emellertid följande kommando: crontab-r Ett säkrare sätt att göra detta är att köra följande kommando: crontab -i Operativsystemet ber om verifiering innan den tar bort crontab-filen.
Så här tar du bort en Crontab-fil