Сегодня поговорим о том, как сделать автоматическое выполнение команд / скриптов во время перезагрузки или запуска. Я всегда увлекаюсь тем, что происходит за кулисами, когда я загружаю и вхожу в систему Linux. Нажимая кнопку питания на голом металле или запуская виртуальную машину, вы вводите в действие ряд событий, которые приводят к полнофункциональной системе — иногда менее чем за минуту. То же самое происходит при выходе из системы и / или выключение системы.
Что делает это еще более интересным, так это то, что операционная система может выполнять определенные действия при загрузке и при входе в систему или выходе из системы.
В этой статье мы обсудим традиционные методы достижения этих целей в Linux.
Примечание. Предположим , что мы используем Bash в качестве основной командной оболочки для входа и выхода из системы. Если вы используете другую, некоторые из этих методов могут не работать. Если есть сомнения, обратитесь к документации вашей командной оболочки.
Выполнение скриптов Linux во время перезагрузки или запуска системы
Существует два традиционных метода для выполнения команды и для запуска скриптов во время запуска:
Метод № 1 — использование команды cron
Помимо обычного формата (минута / час / день месяца / месяц / день недели), который широко используется для обозначения расписания, планировщик cron также позволяет использовать @reboot. Эта директива, за которой следует абсолютный путь к скрипту, заставит ее работать при загрузке машины.
Однако для этого подхода есть два предостережение:
- A) должен быть запущен cron daemon (при нормальных условиях), и
- B) скрипт или файл crontab должен включать переменные среды (если они есть), которые понадобятся.
Метод № 2 — использование /etc/rc.d/rc.local
Этот метод действителен даже для системных дистрибуций. Чтобы этот метод работал, вы должны предоставить разрешения на выполнение для /etc/rc.d/rc.local следующим образом:
# chmod +x /etc/rc.d/rc.local
И добавьте свой скрипт в нижней части файла.
На следующем рисунке показано, как запустить два примера скриптов (/home/gacanepa/script1.sh и /home/gacanepa/script2.sh) с использованием команды cron и rc.local и результаты этих действий.
script1.sh:
#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
script2.sh:
#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
Имейте в виду, что на оба скрипта должны иметь разрешения на выполнение :
$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh
Выполнение скриптов Linux при входе в систему и выходе из системы
Чтобы выполнить скрипт при входе в систему или выходе из системы, используйте «~/.bash_profile» и «~/.bash_logout», соответственно. Скорее всего, вам нужно будет создать последний файл вручную. Просто оставьте строку, ссылающуюся на ваш скрипт в нижней части каждого файла так же, как и раньше, и вы готовы к работе.
Заключение
В этой статье мы объяснили, как запустить скрипт при перезагрузке, входе в систему и выходе из системы. И теперь вы знаете, как сделать автоматическое выполнение команд / скриптов во время перезагрузки или запуска.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.