Как автоматически выполнять команды или скрипты во время перезагрузки или запуска Linux сервера

Мы уже рассматривали как можно выключать и перезагружать Linux сервер. А вы знали вы можете заставить операционную систему выполнять определенные действия при загрузке, а также при входе в систему или выходе из нее?

Начни обучение в IT бесплатно

Вводная часть любого курса — без оплаты и привязки карты. DevOps, сети, программирование, QA и ещё 50+ курсов

  • Практика с первого урока
  • Эксперты-практики
  • Сертификат
Начать бесплатно

В этой статье, мы обсудим традиционные методы достижения этих целей в Linux, не зависимо от дистрибутива.

Linux Boot Scripts

Выполнение скриптов Linux во время перезагрузки или запуска

Есть два традиционных метода для выполнения команды или запуска скриптов во время запуска:

Метод №1 - Используйте задание cron (cron job)

Примечание. Мы предполагаем использование Bash в качестве основной оболочки.

Помимо обычного формата минута/час/день месяца/месяц/день недели, который широко используется для обозначения расписания, планировщик cron также позволяет использовать @reboot. Эта директива, за которой следует абсолютный путь к скрипту, приведет к его запуску при загрузке сервера.

Руководство по cron можно найти тут.

Однако у этого подхода есть два предостережения:

  • Демон cron должен быть запущен
  • Сценарий или файл crontab должны включать необходимые переменные среды, если таковые имеются

Метод № 2 - Используйте /etc/rc.d/rc.local

Этот метод действителен даже для дистрибутивов на основе systemd. Чтобы этот метод работал, вы должны предоставить разрешения на выполнение (execute) для /etc/rc.d/rc.local следующим образом:

# chmod +x /etc/rc.d/rc.local

и добавьте свой скрипт в конец файла.

Имейте в виду, что скрипту предварительно должны быть предоставлены разрешения на выполнение:$ chmod +x /home/gacanepa/script1.sh

Выполнение скриптов Linux при входе в систему и выходе из системы

Чтобы выполнить сценарий при входе или выходе из системы, используйте ~.bash_profile и ~.bash_logout соответственно. Скорее всего, вам потребуется создать последний файл вручную. Просто пропишите строку, вызывающую ваш скрипт, внизу каждого файла так же, как и раньше

Ссылка
скопирована
Для читателей Базы
Мы приготовили тебе подарок

Бесплатный урок и промокод на курс

Эта скидка − тебе!

Промокод на скидку −15% на любой курс и бесплатная часть

Эта скидка − тебе!

Промокод на скидку −15% на любой курс и бесплатная часть

−15%
Твой подарок ещё ждёт

Промокод на скидку
−15% на любой курс и бесплатная часть

Выбрать курс
Еще по теме:
Разбираем 7 ключевых принципов Linux, которые помогают новичкам перестать бороться с системой и начать понимать, как она на самом деле работает.
Узнайте про 5 полезных Linux - команд: tldr, timeout, ncdu, fd и trash, которые упрощают жизнь при работе в CLI
Что позволяет называть один API как REST API, а другой нет? Сейчас попробуем разложить все по полочкам, чтобы ты на собесе жидко не споткнулся о такую, казалось бы, простую тему.
Узнайте, как работают сетевые порты в Linux, какие бывают типы портов, и как управлять ими с помощью команд netstat, ss, ufw и iptables
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59