Автоматический запуск команд через время после включения устройства

Автоматический запуск команд через время после включения устройства

Cron

В данной статье речь пойдет о простом способе выполнять команды после включения устройства и загрузки системы и возможностью выставить какое-то время паузы между загрузкой и запуском команд, например, чтобы устройство успело подключится к WiFi.

После покупки устройств на подобии Raspberry pi, у вас может возникнуть подобное желание.

В этом примере будет использоваться устройство Asus Tinker Board, однако данный способ подойдет для любого устройства под управление Linux.

 

Автоматический вход в систему после включения

В начале нужно сделать так, чтобы при подаче питания на устройство, выполнялся автоматический вход в систему.

На нашем устройстве по дефолту уже настроен автологин в основного пользователя linaro, потому этот шаг мы пропустим. Способ включения автоматической авторизации напрямую зависит от графической оболочки. Найдите как включить эту функции для вашей конкретной системы.

 

Настройка автозагрузки

Мы будем запускать команды, используя crontab. Для  входа в редактор заданий используем команду

sudo crontab -e -u root

 

В этом файле нам надо добавить задания для выполнения.

Например мы добавили такую команду (дальше ее объясним).

 

@reboot sleep 30 && sudo python3 /home/linaro/main.py &

 

cron file example

 

Строки после # закомментированы и не будут выполнятся.

Сначала идет указатель @reboot , указывающий, что последующая строка будет выполнена после включения устройства.

Далее идет sleep 30 указывающий на сон 30 секунд, такого таймаута хватит устройству для подключения к вайфаю.

&& объединяет две команды sleep 30 и sudo python3 /home/linaro/main.py & тут идет запуск python скрипта от имени администратора. & в конце говорит запускать этот процесс в фоне.

Теперь после сохранения файла и перезагрузке(sudo reboot) устройства через 30 секунд запустится python скрипт.

 

Вывод данных

Осталось понять как нам узнать есть ли какие то ошибки при запуске. Мы не можем увидеть вывод команды, но это можно исправить.
Можно использовать символ > для указания места вывода данных. Это выглядит так:

@reboot sleep 30 && sudo python3 /home/linaro/main.py >/home/linaro/logs.txt &

 

В этом случае данные выполнения скрипта будут выведены в файл logs.txt . Если написать >> данные вывода не будут перезаписывать файл, а будут его дополнять.

 

Вывод

Таким простым образом через crontab можно выполнять команды не только каждый промежуток времени, но и после включения устройства.

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии 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, подайте заявку или получите бесплатную консультацию.
Cron

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

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

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

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

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