Як встановити сценарій, який буде запущений при запуску у FreeBSD?


10

Я використовую FreeBSD 9 і хочу створити сценарій, який перевірить, чи підключений кабель Ethernet, і якщо так, то він підключається до нього. Я хочу встановити його так, щоб він працював щоразу, коли машина запускається або коли я входив у систему. Я переглянув свою книгу UNIX (вона досить застаріла і стосується загального UNIX, а не FreeBSD), і там написано, що я можу використовувати crontab, але я можу це зробити лише для того, щоб все працювало в певний час, а не тоді, коли воно починається. Може хтось скажіть, будь ласка, як я можу отримати це?

Відповіді:


11

FreeBSD cronрозуміє @rebootчасову директиву, тому ви справді можете cronвиконати свій сценарій при запуску. Замість звичайних 5-ти часових полів ваш crontabзапис може виглядати так:

@reboot /path/to/script

Якщо ви хочете також , щоб запустити перевірку , коли ви увійти, додайте виклик скрипта в файлі вашої оболонки виконує при вході в системі - це може бути, в залежності від оболонки, ~/.login, ~/.bash_loginі т.д.


4

У FreeBSD 11 для ARMv6 (Raspberry Pi) я не міг змусити @rebootдирективу crontab працювати для кореневого користувача, а /etc/rc.localметод "додати сценарії до файлу" був замінений механізмом, який автоматично запускає скрипти, розташовані в /usr/local/etc/rc.d/.

Іншими словами, щоб запустити скрипт під час завантаження на FreeBSD 11 (або 10?) Та, ймовірно, новіший, розмістіть виконуваний скрипт оболонки з розширенням .sh у цій папці, щоб він виконувався під час завантаження:

/usr/local/etc/rc.d/

Можливо, вам доведеться створити rc.dпапку, якщо її немає.

Докладні відомості див. У розділі http://www.defcon1.org/html/rc-local.html .


3

Іншим рішенням для сценарію запуску було б /etc/rc.local.


1
Хоча man rcсказано "Зазвичай механізм /usr/local/etc/rc.d/ використовується сьогодні замість rc.local, але якщо ви хочете використовувати rc.local, він все ще підтримується. У цьому випадку він повинен джерелом / тощо / rc.conf і містять додатковий спеціальний код запуску для вашої системи, однак найкращий спосіб обробити rc.local - це розділити його на сценарії rc.d / style і помістити їх під / usr / local / etc / rc .d /. "
zezollo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.