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

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

Новости

Сегодня поговорим о том, как сделать автоматическое выполнение команд / скриптов во время перезагрузки или запуска. Я всегда увлекаюсь тем, что происходит за кулисами, когда я загружаю и вхожу в систему 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 с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Новости

Больше похожих постов

Хакеры усиливают DDoS-атаки при помощи серверов Windows RDP, кибербезопасность и информационная безопасность обучение в Москве

Хакеры усиливают DDoS-атаки при помощи серверов Windows RDP, кибербезопасность и информационная безопасность обучение в Москве

11
0
Недавно специалисты обнаружили, что злоумышленники используют для DDoS-атак серверы Windows. Причем подходят для этих целей только определенные серверы. Ботнет для…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню