Сегодня поговорим о том, как настроить автоматическое выполнение команд/скриптов во время перезагрузки системы. Вы когда-то задумывались, что происходит “за кулисами”, когда вы загружаете систему Linux и входите в систему? Нажимая кнопку питания или запуская виртуальной машины, вы провоцируете ряд событий, которые приводят к активации полностью функциональной системы — иногда менее чем за минуту. То же самое происходит при выходе из системы и/или выключение системы.
Что еще интереснее, так это то, что вы можете заставить операционную систему выполнять определенные действия при её загрузке и при входе/выходе из системы.
В этой статье мы обсудим традиционные методы достижения этих целей в Linux.
Примечание. Предположим, что использование Bash в качестве основной оболочки для обработки событий входа и выхода из системы. Если вы используете другой инструмент, то некоторые из этих методов могут и не заработать.
Выполнение скриптов Linux во время перезагрузки или запуска
Существует два традиционных метода выполнения команды или запуска скриптов во время запуска:
Метод № 1 — Использование планировщика задач cron
Помимо обычного формата (минута / час / день месяца / месяц / день недели), который широко используется для указания расписания, планировщик cron также позволяет использовать @reboot. Эта директива, за которой следует абсолютный путь к скрипту, заставляющий её работать при запуске машины.
Однако для этого подхода есть два важных нюанса:
- Обязательно должен быть запущен демон cron;
- Сценарий или файл crontab должен включать переменные среды (если они есть), которые понадобятся.
Метод № 2 — Использование /etc/rc.d/rc.local
Этот метод действителен даже для системных задач. Чтобы этот метод работал, вы должны установить разрешения на выполнение для файла /etc/rc.d/rc.local следующим образом:
Затем добавьте скрипт в конце файла.
Ниже показано, как запустить скрипт (/home/yurii/script.sh) с использованием задания cron и rc.local соответственно и их соответствующих результатов.
script.sh:
Имейте в виду, что сценарий должен иметь разрешения на выполнение:
Выполнение скриптов Linux при входе/выходе из системы
Чтобы выполнить скрипт при входе в систему или выходе из системы, используйте ~/.bash_profile и ~/.bash_logout, соответственно. Скорее всего, вам нужно будет создать последний файл вручную. Просто оставьте строку, ссылающуюся на ваш скрипт в нижней части каждого файла так же, как и раньше, и все будет работать.
Итоги
В этой статье мы объяснили, как запустить скрипт при перезагрузке, входе в систему или выходе из системы. Теперь вы сможете без труда настроить автоматическое выполнение команд/скриптов во время перезагрузки системы.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
2 комментария. Оставить новый
А как мне прописать выполнение данной команды в Debian 9:
setxkbmap us,ru -option grp:alt_shift_toggle
Умный объяснил для умного