Мы уже рассматривали как можно выключать и перезагружать Linux сервер. А вы знали вы можете заставить операционную систему выполнять определенные действия при загрузке, а также при входе в систему или выходе из нее?
В этой статье, мы обсудим традиционные методы достижения этих целей в Linux, не зависимо от дистрибутива.
Выполнение скриптов 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
соответственно. Скорее всего, вам потребуется создать последний файл вручную. Просто пропишите строку, вызывающую ваш скрипт, внизу каждого файла так же, как и раньше