В данной статье речь пойдет о простом способе выполнять команды после включения устройства и загрузки системы и возможностью выставить какое-то время паузы между загрузкой и запуском команд, например, чтобы устройство успело подключится к WiFi.
После покупки устройств на подобии Raspberry pi, у вас может возникнуть подобное желание.
В этом примере будет использоваться устройство Asus Tinker Board, однако данный способ подойдет для любого устройства под управление Linux.
Автоматический вход в систему после включения
В начале нужно сделать так, чтобы при подаче питания на устройство, выполнялся автоматический вход в систему.
На нашем устройстве по дефолту уже настроен автологин в основного пользователя linaro, потому этот шаг мы пропустим. Способ включения автоматической авторизации напрямую зависит от графической оболочки. Найдите как включить эту функции для вашей конкретной системы.
Настройка автозагрузки
Мы будем запускать команды, используя crontab. Для входа в редактор заданий используем команду
В этом файле нам надо добавить задания для выполнения.
Например мы добавили такую команду (дальше ее объясним).
Строки после # закомментированы и не будут выполнятся.
Сначала идет указатель @reboot , указывающий, что последующая строка будет выполнена после включения устройства.
Далее идет sleep 30 указывающий на сон 30 секунд, такого таймаута хватит устройству для подключения к вайфаю.
&& объединяет две команды sleep 30 и sudo python3 /home/linaro/main.py & тут идет запуск python скрипта от имени администратора. & в конце говорит запускать этот процесс в фоне.
Теперь после сохранения файла и перезагрузке(sudo reboot) устройства через 30 секунд запустится python скрипт.
Вывод данных
Осталось понять как нам узнать есть ли какие то ошибки при запуске. Мы не можем увидеть вывод команды, но это можно исправить.
Можно использовать символ > для указания места вывода данных. Это выглядит так:
В этом случае данные выполнения скрипта будут выведены в файл logs.txt . Если написать >> данные вывода не будут перезаписывать файл, а будут его дополнять.
Вывод
Таким простым образом через crontab можно выполнять команды не только каждый промежуток времени, но и после включения устройства.
Спасибо за уделенное время на прочтение статьи!
Понравилась статья? Предлагаем прочесть про то, как установить OwnCloud в Debian 10?
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.