Сегодня поговорим о том, как сделать автоматическое выполнение команд / скриптов во время перезагрузки или запуска. Я всегда увлекаюсь тем, что происходит за кулисами, когда я загружаю и вхожу в систему Linux. Нажимая кнопку питания на голом металле или запуская виртуальную машину, вы вводите в действие ряд событий, которые приводят к полнофункциональной системе — иногда менее чем за минуту. То же самое происходит при выходе из системы и / или выключение системы.
Что делает это еще более интересным, так это то, что операционная система может выполнять определенные действия при загрузке и при входе в систему или выходе из системы.
В этой статье мы обсудим традиционные методы достижения этих целей в Linux.
Примечание. Предположим , что мы используем Bash в качестве основной командной оболочки для входа и выхода из системы. Если вы используете другую, некоторые из этих методов могут не работать. Если есть сомнения, обратитесь к документации вашей командной оболочки.
Выполнение скриптов Linux во время перезагрузки или запуска системы
Существует два традиционных метода для выполнения команды и для запуска скриптов во время запуска:
Метод № 1 — использование команды cron
Помимо обычного формата (минута / час / день месяца / месяц / день недели), который широко используется для обозначения расписания, планировщик cron также позволяет использовать @reboot. Эта директива, за которой следует абсолютный путь к скрипту, заставит ее работать при загрузке машины.
Однако для этого подхода есть два предостережение:
- A) должен быть запущен cron daemon (при нормальных условиях), и
- B) скрипт или файл crontab должен включать переменные среды (если они есть), которые понадобятся.
Метод № 2 — использование /etc/rc.d/rc.local
Этот метод действителен даже для системных дистрибуций. Чтобы этот метод работал, вы должны предоставить разрешения на выполнение для /etc/rc.d/rc.local следующим образом:
И добавьте свой скрипт в нижней части файла.
На следующем рисунке показано, как запустить два примера скриптов (/home/gacanepa/script1.sh и /home/gacanepa/script2.sh) с использованием команды cron и rc.local и результаты этих действий.
script1.sh:
script2.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.