Виконання команд при старті freebsd - (автозавантаження) - щоденник - максим Боголєпов

Виконання команд при старті freebsd - (автозавантаження) - щоденник - максим Боголєпов

Наступним етапом після початку використання tmpfs у FreeBSD, про який я писав у попередній статті. стала настройка працюють на сервері додатків під використання виділеного з оперативної пам'яті розділу / tmp. Як виявилося, дуже багато хто з них у своїй роботі для створення тимчасових файлів вимагають за замовчуванням альтернативне розміщення. Одним з таких додатків є http-сервер nginx.







За замовчуванням у FreeBSD nginx зберігає свої тимчасові файли в структурі каталогів, розташованої по шляху / var / tmp:

Для того, щоб задати альтернативне (наш розділ tmpfs в точці / tmp) розміщення каталогів http-сервера nginx, які він використовує для тимчасових файлів, в його файлі конфігурації /usr/local/etc/nginx/nginx.conf. в секції http слід прописати наступні рядки:







Але, як відомо, при перезавантаженні вся інформація, що зберігається на tmpfs розділі / tmp, видаляється. Отже, необхідно в момент завантаження, перед стартом http-сервера, виконати команди створення необхідного для роботи nginx дерева каталогів. І щоб не проробляти це кожен раз вручну після перезавантаження сервера, помістити файл з набором цих команд в автозавантаження, щоб він виконувався до моменту старту http-сервера nginx.

Для цього в домашньому каталозі користувача root root створимо файл nginxtmp. в якому ми пропишемо команди на створення необхідного дерева каталогів і зробимо його виконуваним:

Тепер, уважним чином вивчивши розділ HandBook Practical rc.d scripting in BSD. складаємо свій завантажувальний скрипт nginxtmp. викликає наш набір команд з / root / nginxtmp. який помістимо в /usr/local/etc/rc.d:

Даний стартовий скрипт при завантаженні сервера FreeBSD перед запуском http-сервера nginx при наявності дозволу його запуску в /etc/rc.conf виконає набір команд з файлу по шляху / root / nginxtmp.

Нам залишилося тільки занести в /etc/rc.conf рядок nginxtmp_enable = "YES". роздільну запуск скрипта /usr/local/etc/rc.d/nginxtmp:

Подібним чином ви зможете додавати в автозавантаження FreeBSD свої команди і скрипти.

__________________
Матеріал з описом основ написання скриптів rc.d російською: Основи написання rc.d скриптів в BSD.