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. Крім відео-ігор одна з найбільших переваг використання комп'ютерів є те, що вони не зрозуміли, що робити нудні і повторювані завдання, що ми вважали б за краще не робити. 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. Для монотонних завдань таких як виконання щоденних резервних копій нас краще, запланувавши їх для запуску в певний час кожен день, і робити більш цікаві речі з нашим часом. Linux and UNIX usually come with the utility “crontab” by default. Linux та UNIX зазвичай приходять за допомогою утиліти "Crontab" за умовчанням. This very useful command allows you to schedule tasks to run at a specified time and repeat as configured. Це дуже корисна команда дозволяє планувати завдання для запуску в певний час і повторювати в даній конфігурації. A task scheduled using “crontab” is called a “cron job”. Завдання заплановано використанні "Crontab" називається "Cron роботу".
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 команда дозволяє доручити вашим сервером для виконання скрипта на зазначеній хвилині вказаний день конкретного місяця. To see what cron jobs are setup to run on your machine, run the following command: Щоб з'ясувати, які завдання Cron установка для запуску на вашому комп'ютері, запустіть наступну команду:
# crontab -l # Crontab-L
If your machine has some cron jobs configured it will display something like the following: Якщо ваша машина має кілька запланованих завдань налаштований він продемонструє щось подібне до наступного:
0 6 * * * /opt/scripts/backup_script.sh 0 6 * * * / Opt / скрипти / backup_script.sh
The crontab configuration above shows a cron job that executes the shell script “backup_script” everyday at 6 AM. Crontab конфігурації вище, показує завдання: виконується сценарій оболонки "backup_script" кожен день в 6 ранку. The * means to run at every instance of the value in the field. * Засоби для запуску на кожному примірнику значення в цій галузі. 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. Таким зірочкою в день, місяць і день тижня полях у наведеному вище прикладі означає, що скрипт повинен працювати кожен день на місяць, кожен місяць на рік, і кожен день тижня. The first and second fields tell crontab to execute the script at zero minutes and six hours, which is 6 AM. Першого і другого полів сказати Crontab Щоб запустити скрипт на нуль хвилин і шість годин, що 6 ранку. 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. Таким чином, ця конфігурація Cron Job читав щось подібне до цього ", запустити скрипт / Opt / скрипти / backup_script.sh на нуль хвилин, 6 ранку кожен день, кожен місяць і кожен день тижня." Нижче "Анатомія "з Crontab конфігурації пояснити.
0 6 * * * /opt/scripts/backup_script.sh 0 6 * * * / Opt / скрипти / backup_script.sh
| | | | | | | | | |
| | | | |________________ day of week (Sunday=0) | | | | |________________ День тижня (Неділя = 0)
| | | |__________________ month of year | | | |__________________ Місяць року
| | |____________________ day of month | | |____________________ День місяця
| |______________________ hour of day | |______________________ Години дня
|________________________ minute of hour |________________________ Хвилину години
To schedule new cron jobs or to edit old ones execute the following command: Щоб запланувати нові робочі місця Cron або змінити старий виконати наступну команду:
# crontab -e # Crontab-е
This will bring up an editor with which you can add, edit, or delete “cron jobs”. Це викличе редактор за допомогою якого можна додати, змінити або видалити "робота Cron". To schedule a job to run at 3:45 PM every Monday add entry like this: Щоб запланувати роботу запустити в 3:45 вечора кожного понеділка додати рядок на зразок цієї:
45 15 * * 1 /opt/scripts/script.sh 45 * 15 * 1 / Opt / скрипти / script.sh
You can also use a comma to add multiple entries into a field. Ви також можете використовувати кому, щоб додати кілька записів в поле. This is useful if you want to run a script thrice a day, with an eight hour interval. Це корисно, якщо ви хочете запустити сценарій тричі на день, з восьми годин інтервал. Make sure you do not leave space between entries in a single field, though. Переконайтеся, що ви не залишите простору між записами в одній області, однако. Your “cron job” entry would look like this: Ваші "Cron Job" запис буде виглядати наступним чином:
0 1,9,17 * 2,11 * /opt/scripts/db_backup_script.sh 0 1,9,17 * 2,11 * / Opt / скрипти / 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. У наведеному вище прикладі сценарію "db_backup_script.sh" проходить в 1 годині ночі, 9 ранку і 5 вечора кожен день протягом декількох місяців у лютому та листопаді. There are a lot of cool things that you can do with cron jobs. Є багато класних речей, які ви можете зробити з запланованих завдань. The same works for day, month, and day of week. Той же за день, місяць і день тижня. Once you get the hang of this try out the following. Як тільки ви отримаєте повісити цього спробуйте наступне. Crontab doesn't only understand numbers, it can also operate on some basic English words: Crontab не тільки розуміти цифри, але також може працювати на деяких основних англійських слів:
string explanation Рядок пояснень
—— ———– - ----
@reboot Run once, the next time the system reboots @ Перезавантаження виконується один раз, під час наступного перезавантаження системи
@yearly Run once a year, at the beginning of the year @ Щорічної виконуються один раз на рік, на початку року
@annually Same as @yearly, run once annually Щорічно @ @ Те ж, що в рік, запустити один раз на рік
@monthly Run once a month, at the beginning of the month @ Щомісячно виконується один раз на місяць, на початку місяця
@weekly Run once a week, at the beginning of the week @ Щотижневий виконуються один раз на тиждень, на початку тижня
@daily Run once a day, at midnight @ Щодня виконуються один раз на добу, опівночі
@midnight Same as @daily, run at midnight @ Півночі ж як @ щоденно, працювати до опівночі
@hourly Run once an hour, at the beginning of the hour @ Погодинна виконуються один раз на годину, на початку години
So, for example, if you want to run a script at midnight every night, this is what your crontab configuration would look like: Так, наприклад, якщо ви хочете запустити сценарій опівночі кожну ніч, це те, що ваш Crontab конфігурації буде виглядати наступним чином:
@midnight /opt/scripts/script.sh @ Півночі / Opt / скрипти / 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. Використання "@ півночі" замість "0 0 * * *" буде працювати так само і виконати просив сценарію опівночі кожен вечір, будучи набагато більше читають, ніж її чисельного колегою. You can also make the use of hyphens to declare a range. Ви також можете зробити використання дефісів оголосити діапазон. In the command below “script.sh” will be executed at the beginning of every hour from 1 AM to 6 AM: До команди нижче "script.sh" буде виконано на початку кожної години з 1 ранку до 6 ранку:
0 1-6 * * * /opt/scripts/script.sh 0 1-6 * * * / Opt / скрипти / script.sh
There are many more cool things you can do with cron. Є багато більш прохолодною, що ви можете робити з хрон. Every sysasmin swears by it, it's pretty easy to use once you get the hang on it, and very powerful. Кожна sysasmin клянеться, воно досить проста у використанні як тільки ви отримаєте повісити на ньому, і дуже потужні. Use this tool wisely, as scheduling a task wrongly can sometimes do a lot of harm. Використовуйте цей інструмент з розумом, як планування завдань можуть іноді помилково зробити багато шкоди. Reading the “man page” of crontab would be highly recommended. Рединг "Людина сторінку" Crontab б вкрай рекомендується.























{ 3 trackbacks } (3) Trackbacks
{ 0 comments… (0 коментарів ... add one now Додати одну картину } )
Leave a Comment Залишити коментар