Skip to content Gå til innhold


Increase your Linux/Unix Productivity: How to use crontab Øk Linux / Unix Produktivitet: Hvordan bruke crontab

Linux

Apart from video games one of the great advantages of using computers is that they don't seem to mind doing boring and repetitive tasks that we would rather not do. Bortsett fra dataspill en av de store fordelene ved å bruke datamaskiner er at de ikke synes å huske å gjøre kjedelige og repeterende oppgaver at vi ville heller ikke gjøre. For monotonous tasks such as running daily backups we are better off scheduling them to run at a certain time every day, and do more interesting stuff with our time. For monotone oppgaver som kjører daglige sikkerhetskopier vi er bedre å planlegge dem til å kjøre på et bestemt tidspunkt hver dag, og gjøre mer interessante ting med vår tid. Linux and UNIX usually come with the utility “crontab” by default. Linux-og UNIX vanligvis kommer med verktøyet "crontab" som standard. This very useful command allows you to schedule tasks to run at a specified time and repeat as configured. Denne svært nyttig kommandoen kan du planlegge oppgaver til å kjøre på en bestemt tid og gjenta så konfigurert. A task scheduled using “crontab” is called a “cron job”. En oppgave planlagt å bruke "crontab" kalles en "cron job".

The crontab command allows you to instruct your server to execute a script at a specified minute of the specified day of the particular month. Crontab-kommandoen kan du instruere serveren til å kjøre et skript på en angitt minutt av den angitte dagen i den aktuelle måneden. To see what cron jobs are setup to run on your machine, run the following command: Å se hva cron jobber setup å kjøre på din maskin, kan du kjøre følgende kommando:

# crontab -l # Crontab-l

If your machine has some cron jobs configured it will display something like the following: Hvis maskinen har noen cron jobber konfigurert den vil vise noe som følgende:

0 6 * * * /opt/scripts/backup_script.sh 0 6 * * * / opt / scripts / backup_script.sh

The crontab configuration above shows a cron job that executes the shell script “backup_script” everyday at 6 AM. Crontab konfigurasjon ovenfor viser en cron jobb som utfører shell script "backup_script" hverdags kl 6 AM. The * means to run at every instance of the value in the field. * Det betyr å kjøre ved enhver forekomst av verdien i feltet. So an asterisk in the day, month, and day of week fields in the above example means that the script should run every day of the month, every month of the year, and every day of the week. Så en stjerne i dag, måned og dag i uken feltene i eksemplet ovenfor betyr at skriptet skal kjøre hver dag i måneden, hver måned i året, og hver dag i uken. The first and second fields tell crontab to execute the script at zero minutes and six hours, which is 6 AM. Den første og andre felt fortelle crontab å kjøre skriptet på null minutter og seks timer, noe som er 6 AM. So, this cron job configuration would read something like this, “Run the script /opt/scripts/backup_script.sh at zero minutes, 6 AM, every day, every month, and every day of the week.” Below is the “anatomy” of a crontab configuration explained. Så ville denne cron jobben konfigurasjonen lese noe som dette, "Kjør skriptet / opt / scripts / backup_script.sh på null minutter, 6 AM, hver dag, hver måned, og hver dag i uken." Nedenfor er "anatomi "en crontab konfigurasjon forklart.

0 6 * * * /opt/scripts/backup_script.sh 0 6 * * * / opt / scripts / backup_script.sh
|  |  |  |  | | | | | |
|  |  |  |  |________________ day of week (Sunday=0) | | | | |________________ Dag i uken (søndag = 0)
|  |  |  |__________________ month of year | | | |__________________ Måned året
|  |  |____________________ day of month | | |____________________ Dag i måneden
|  |______________________ hour of day | |______________________ Time på dagen
|________________________ minute of hour |________________________ Minutt time

To schedule new cron jobs or to edit old ones execute the following command: Slik planlegger nye cron jobber eller redigere gamle kjøre følgende kommando:

# crontab -e # Crontab-e

This will bring up an editor with which you can add, edit, or delete “cron jobs”. Dette vil få opp en editor som du kan legge til, redigere eller slette "cron-jobber". To schedule a job to run at 3:45 PM every Monday add entry like this: Slik planlegger du en jobb å løpe på 3:45 hver mandag legge inn slik:

45 15 * * 1 /opt/scripts/script.sh 45 15 * * 1 / opt / scripts / script.sh

You can also use a comma to add multiple entries into a field. Du kan også bruke et komma å legge til flere oppføringer i et felt. This is useful if you want to run a script thrice a day, with an eight hour interval. Dette er nyttig hvis du vil kjøre et skript tre ganger om dagen med en åtte timers intervall. Make sure you do not leave space between entries in a single field, though. Sørg for at du ikke lar mellomrom mellom oppføringer i ett enkelt felt, though. Your “cron job” entry would look like this: Din "cron job" oppføring ville se slik ut:

0 1,9,17 * 2,11 * /opt/scripts/db_backup_script.sh 0 1,9,17 * 2,11 * / opt / scripts / db_backup_script.sh

In the above example the script “db_backup_script.sh” runs at 1 AM, 9 AM, and 5 PM every day in the months of February and November. I eksemplet ovenfor skriptet "db_backup_script.sh" kjører AM 1, 9 AM og 5 PM hver dag i månedene februar og november. There are a lot of cool things that you can do with cron jobs. Det finnes mange kule ting du kan gjøre med cron jobber. The same works for day, month, and day of week. Det samme fungerer for dag, måned og dag i uken. Once you get the hang of this try out the following. Når du får taket på dette prøve følgende. Crontab doesn't only understand numbers, it can also operate on some basic English words: Crontab ikke bare forstår tall, det kan også operere på noen grunnleggende engelske ord:

string explanation string forklaring
—— ———– - ----
@reboot Run once, the next time the system reboots @ reboot Kjør gang, neste gang systemet startes på nytt
@yearly Run once a year, at the beginning of the year @ årlig Kjør en gang i året, i begynnelsen av året
@annually Same as @yearly, run once annually @ årlig Samme som @ årlig kjøres én gang årlig
@monthly Run once a month, at the beginning of the month @ månedlige Kjør en gang i måneden, i begynnelsen av måneden
@weekly Run once a week, at the beginning of the week @ ukentlig Kjør en gang i uken, i begynnelsen av uken
@daily Run once a day, at midnight @ daglig Kjør en gang daglig, ved midnatt
@midnight Same as @daily, run at midnight @ midnatt Samme som @ daglig, løpe ved midnatt
@hourly Run once an hour, at the beginning of the hour @ hourly Kjør en gang i timen, i begynnelsen av timen

So, for example, if you want to run a script at midnight every night, this is what your crontab configuration would look like: Så, for eksempel hvis du vil kjøre et skript ved midnatt hver kveld, dette er hva din crontab konfigurasjonen vil se ut:

@midnight /opt/scripts/script.sh @ midnatt / opt / scripts / script.sh

Using “@midnight” rather than “0 0 * * *” will work the same and execute the requested script at midnight every night while being a lot more readable than its numerical counterpart. Bruk "@ midnight" heller enn "0 0 * * *" fungerer på samme og utføre den forespurte skriften ved midnatt hver kveld samtidig som det er mye mer lesbart enn numeriske motstykke. You can also make the use of hyphens to declare a range. Du kan også gjøre bruk av bindestrek å erklære et område. In the command below “script.sh” will be executed at the beginning of every hour from 1 AM to 6 AM: Inne kommandoen under "script.sh" vil bli utført i begynnelsen av hver time 1-6:

0 1-6 * * * /opt/scripts/script.sh 0 1-6 * * * / opt / scripts / script.sh

There are many more cool things you can do with cron. Det er mange flere kule ting du kan gjøre med cron. Every sysasmin swears by it, it's pretty easy to use once you get the hang on it, and very powerful. Hver sysasmin sverger både ved det, er det ganske lett å bruke når du først får taket på det, og meget kraftig. Use this tool wisely, as scheduling a task wrongly can sometimes do a lot of harm. Bruk dette verktøyet klokt, som planlegger en oppgave galt noen ganger kan gjøre mye skade. Reading the “man page” of crontab would be highly recommended. Lese "man-siden" av crontab ville være sterkt anbefalt.

Posted in Posted in Guest Blogger Guest Blogger , , Linux Linux . .

Related Posts: Relaterte innlegg:

How to setup slow query logging in MySQL Hvordan sette opp langsom spørsmål hogger tømmer i MySQL
How to schedule tasks on Linux using the 'at' command Slik planlegger du oppgaver på Linux ved å bruke 'at' kommando
How to download files from the Linux command line Hvordan laste ned filer fra Linux kommandolinjen
5 Desktop Wallpapers that will increase your productivity 5 Desktop Wallpapers som vil øke produktiviteten
Update: Gmail increases storage to 4.2GB Oppdatering: Gmail øker lagringsplass til 4.2GB

3 Responses 3 Svar

Stay in touch with the conversation, subscribe to the Holde kontakten med samtalen, abonnere på RSS feed for comments on this post RSS feed for kommentarer til dette innlegget . .

Continuing the Discussion Fortsetter Discussion

  1. How to schedule tasks on Linux using the 'at' command - Simple Help Slik planlegger du oppgaver på Linux ved å bruke 'at' kommando - Enkelt Hjelp linked to this post on May 4, 2009 knyttet til dette innlegget 4 mai 2009

    [...] of administering Linux servers. [...] Å administrere Linux-servere. We took a look at how to schedule jobs on Linux machine using the cron command earlier. Vi tok en titt på hvordan du planlegger jobber på Linux-maskinen ved hjelp av cron kommandoen tidligere. Here's an alternative to cron – at. Her er et alternativ til cron - kl. The primary difference between the two [...] Den primære forskjellen mellom de to [...]

  2. How to setup slow query logging in MySQL - Simple Help Hvordan sette opp langsom spørsmål hogger tømmer i MySQL - Enkelt Hjelp linked to this post on September 22, 2009 knyttet til dette innlegget den 22 september 2009

    [...] and quicker for you. [...] Og raskere for deg. Do remember to check this file every once in a while. Husker å se denne filen hver gang en stund. What might help is to setup a cron job to mail you this file once every few days. Hva kan hjelpe er å sette opp en cron jobb til posten du denne filen en gang i noen dager. Related [...] Relaterte [...]

  3. How to setup slow query logging in MySQL | TuxWire : The Linux Blog Hvordan sette opp langsom spørsmål hogger tømmer i MySQL | TuxWire: The Linux Blog linked to this post on September 22, 2009 knyttet til dette innlegget den 22 september 2009

    [...] and quicker for you. [...] Og raskere for deg. Do remember to check this file every once in a while. Husker å se denne filen hver gang en stund. What might help is to setup a cron job to mail you this file once every few [...] Hva kan hjelpe er å sette opp en cron jobb til posten du denne filen annenhver [...]



Some HTML is OK Some HTML is OK

or, reply to this post via eller svare på dette innlegget via trackback styrekule . .