Налаштування запуску кількох PHP скриптів за розкладом
Мій блог містить нотатки про різні веб-технології, як клієнтські, так і серверні. Тут будуть розкриті питанняhtml-верстки, програмування на JavaScript і jQuery, розробки на PHP. Не залишаться поза увагою популярні системи керування сайтом«1С-Бітрікс»,Joomla та інші. Про роботу з ними, я також писатиму.
Мої нотатки призначені в основному для веб-майстрів-початківців. Незважаючи на це, досвідчені розробники також знайдуть тут щось цікаве для себе.
У своєму блозі я збираюся публікувати статті про сучасні веб-технології (HTML5,CSS3 та інші). Якщо в процесі роботи над проектами я відкриваю для себе «свіже» вирішення будь-якого завдання, я записую сюди інформацію про це, що дозволяє мені за необхідності застосовувати отримані знання у майбутньому.
Сподіваюся, інформація буде корисна для відвідувачів.
Налаштування запуску кількох PHP скриптів за розкладом.
Завдання: необхідно налаштувати запуск кількох PHP скриптів за розкладом. Завдання трохи ускладнюється тим, що скрипти мають запускатися по черзі.
Як відомо, для запуску за розкладом команд у UNIX-подібних операційних системах використовується утиліта cron. У разі йдеться про ОС FreeBSD.
В особистому кабінеті хостингу зазвичай є інтерфейс для роботи з інструкціями, що розміщуються у файлах crontab. Так як в моєму випадку кілька скриптів і запускати їх потрібно по черзі, зробити налаштування через веб-інтерфейс не вийде.
Щоб усе працювало як задумано, потрібно розмістити команди виклику скриптів у файлі (UNIX shell - .sh).
Підключіться до сервера за протоколом SSH і створіть .sh-файл у домашній директорії. Можна створити якусьпапку всередині домашньої директорії.
Існує кілька варіантів запуску скриптів: окрім простого запуску, є можливість збереження результатів роботи скрипта у файл або надсилання їх на e-mail.
• Запуск скрипта - результати нікуди не зберігаються та не надсилаються:
# /usr/local/bin/wget -O /dev/null -q http://domen/path/file.php
• Запуск скрипту із збереженням результатів його роботи у файл:
# /usr/local/bin/wget -O шлях до файлу -q http://domen/path/file.php
У моєму випадку "шлях до файлу" такий /home/m/mattweb/
• Запуск скрипту з надсиланням результатів його роботи на e-mail (результати роботи у файлі не зберігаються):
# /usr/local/bin/wget -O - -q http://domen/path/file.php /usr/bin/mail [email protected]
У файл потрібно додати відповідні команди для запуску всіх потрібних скриптів. Не забудьте перевірити, чи правильно в команді вказано шлях до wget:
Потім потрібно зробити цей файл виконуваним:
# chmod +x имя_файла.sh
Після виконання дій, описаних вище, можна зайти в особистий кабінет хостингу і налаштувати запуск створеного файлу з командами за розкладом.
Формат команди наступний:
хвилина година день_місяця місяць день_тижня команда
- хвилина: від 0 до 59
- година: від 0 до 23
- день_місяця: від 1 до 31
- місяць: від 1 до 12 (можна використовувати 3 перші літери з назви місяця без урахування регістру від jan до dec)
- день_тижня: від 0 до 6 (0 - неділя, можна використовувати скорочену назву дня тижня від sun до sat)
Кожне з полів дати та часу може бути позначене символом * - відповідатиме будь-якому можливому значенню. Також для цих полів можна вказувати діапазони значень розділені дефісом.