Нам, как опытным пользователям 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% и жил в неведении, также как и я, теперь станет известно о новом инструменте в арсенале системного администратора. Просто, как все гениальное!