rc.local в стиле Cron

rc.local в стиле Cron Нам, как опытным пользователям Linux, свойственно порой обнаруживать поразительно простые явления, о существовании которых мы и не подозревали.

Будь то автозаполнение таблиц, команда sudo !! на случай, когда Вы забыли напечатать sudo или даже рекурсивная выдача списка файлов с помощью ls, маленькие хитрости могут быть невероятно полезными. Не так давно я сам столкнулся с этим.

Большинство пользователей знают, что rc.local – это файл, в котором записываются команды для начальной загрузки системы. Однако порой скрипт rc.local заблокирован и не работает.

Кроме того, бывает сложно запомнить синтаксические структуры, необходимые для запуска определенных программ конкретным пользователем, таких как окна цена и других.

Длинный список программ в rc.local может просто стать неприглядным. Мне было неизвестно, что cron поддерживает не только периодическое исполнение программ, но может также запускать программы при пуске системы!

Обычно ввод в crontab выглядит следующим образом:

* * * * * /usr/bin/command

В этом случае команда запускается каждую минуту. Существует масса вариантов для установления очень точных временных отрезков, но до недавнего времени я не знал, что существуют различные опции для пяти полей. Вот как выглядит ввод в crontab, который выполняет команду в начале каждого часа:

@hourly /usr/bin/command

И существует множество других вариантов: @annually, @monthly, @daily, @midnight и, что наиболее интересно для читателей этой статьи, @reboot.

Если ввести в crontab следующее:

@reboot /usr/bin/command

Команда будет выполняться при запуске системы с учетом принадлежности и с разрешения пользователя-владельца crontab. Я провел довольно много исследований, чтобы убедиться, что это работает не только при перезагрузке, но и при «холодной» начальной загрузке.

И да, терминология @reboot просто означает, что команда выполняется один раз при первой загрузке системы. Я пользуюсь этим приемом для быстрого запуска программ, и работает он удивительно хорошо.

Полагаю, 99,9% из вас знали эту ценную информацию, но тем, кто входил в оставшийся 1% и жил в неведении, также как и я, теперь станет известно о новом инструменте в арсенале системного администратора. Просто, как все гениальное!


Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'actions_post_nav' not found or invalid function name in /var/www/ch8648adac/www/linuxgid.ru/wp-includes/class-wp-hook.php on line 288