Tagged Under. bash. Ubuntu. скрипти
Іноді системним адміністраторам, програмістам, web-дизайнерам і багато кому ще потрібно запускати одні і ті ж команди або скрипт з певною періодичністю. Для таких цілей використовується спеціальна утиліта Cron. вбудована в усі дистрибутиви Unix. Користуватися Cron'ом надзвичайно легко. Зараз розповім як.
Для початку створимо який-небудь простий bash-скрипт, наприклад скрип резервного копіювання та архівування конфігураційних файлів, в моєму випадку конфігураційних файлів Apache2 і ftp-сервера.
Цей скрипт копіює конфігураційні файли і архівує їх у папку, в назві якої присутній дата і час збереження. Назвемо його 'backup-script' а лежати він у нас буде в домашньому каталозі (/ home / user /). Тепер нам треба щоб цей скрипт запускався, ну припустимо, кожні 10 хвилин. Для цього введемо команду
Цією командою ми відкриваємо для редагування файл crontab для даного користувача, в моєму випадку це user. Якщо нашому скрипту потрібні права супер користувача, то потрібно редагувати crontab суперкористувача. Робиться це командою
Ну і якщо замінити root а логін іншого користувача, ми будемо редагувати його crontab.
Відразу напишу, щоб подивитися файл crontab введіть команду.
Файл crontab має наступну структуру:
поле1 поле2 поле3 поле4 поле5 команда
Значення перших п'яти полів:
1.мінути- число від 0 до 59
2.часи - число від 0 до 23
3.день місяці - число від 1 до 31
4.номер місяці на рік - число від 1 до 12
5.день тижні - число від 0 до 7 (0-Нд, 1-Пн, 2-Вт, 3-Ср, 4-Чт, 5-Пт, 6-Сб, 7-Нд)
Всі поля обов'язкові для заповнення. Не складно здогадатися що перші 5 відповідають за визначення періодичності запуску команди, а остання власне команда або повний шлях до скрипта. Таким чином, щоб запустити наш скрипт резервного копіювання раз в 10 хвилин треба вписати наступну сходинку.
* - значить всі можливі варіанти, / служить для визначення періодичності виконання завдання. Якщо потрібно буде виконувати скрипт раз о 3 годині впишіть в значення годинник * / 3 а в хвилини просто *, якщо раз на добу - впишіть * / 23. ну майже добу. Так само в одне поле можна вводити кілька значень через кому, наприклад якщо хочете виконувати скрипт 1ого, 5ого, і 25ог числа кожного місяця введіть 1,5,25 замість третин зірочки. Ще можна вводити проміжок часу, якщо, припустимо, в годинник ввести 12-17 то скрипт буде виконуватися з 12 до 17 включно раз на годину.
Ну ось і все, на закінчення пару прикладів: