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

Linux

Всем привет, меня зовут Лян Сюй.

На работе у нас часто возникает потребность в автоматическом запуске скрипта или сервиса после старта системы. В Windows у нас есть много способов настроить загрузку, но что нам нужно сделать в системе Linux?

Также можно настроить запуск загрузки под Linux, но нам может понадобиться ввести некоторые команды (может быть и метод настройки интерфейса UI, но я с ним не знаком, больше играю в команды). Ниже мы представляем три простых, но выполнимых метода настройки запуска.

Способ 1: изменить файл /etc/rc.d/rc.local

/etc/rc.d/rc.localФайл будет запущен после запуска всех служб системы Linux. Поэтому, если вы хотите, чтобы ваш собственный сценарий запускался после загрузки, вы можете добавить свой собственный путь к этому файлу.

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

$ chmod +x /etc/rc.d/rc.local

Для демонстрации мы создали скрипт, который при выполнении запишет файл с определенной информацией в домашний каталог.

$ vim auto_run_script.sh

#!/bin/bash
date >> /home/alvin/output.txt
hostname >> /home/alvin/output.txt

После сохранения и выхода дайте ему разрешение на выполнение:

$ chmod +x auto_run_script.sh

Затем добавляем скрипт в/etc/rc.d/rc.localПоследняя строка файла:

$ vim /etc/rc.d/rc.local

/home/alvin/auto_run_script.sh

Далее мы можем попробовать эффект. Просто перезапустите систему напрямую:

$ sudo reboot

После перезапуска вы увидите результат выполнения скрипта в домашнем каталоге.

Способ 2: используйте crontab

Как мы все знаем, crontab — это запланированная задача в Linux.Когда время достигает установленного нами времени, оно может автоматически запускать выполнение некоторых сценариев.

Мы можем сами установить запланированное время задачи, а затем написать соответствующий скрипт. Однако существует специальная задача, называемая@reboot, мы действительно можем видеть это непосредственно из его буквального значения, эта задача состоит в том, чтобы автоматически запускать скрипт после перезагрузки системы.

Так какой скрипт будет запускаться? Как нам настроить этот скрипт? мы можем пройтиcrontab -eустанавливать.

$ crontab -e

@reboot /home/alvin/auto_run_script.sh

Затем просто перезапустите. Эффект от бега аналогичен описанному выше.

Способ 3: использовать службу systemd

Два описанных выше метода можно использовать в любой системе Linux. Но этот метод работает только в системах systemd. Как отличить система systemd? Это легко, просто бегиps auxКоманда, чтобы увидеть, является ли процесс с pid 1 системным.

Для этого нам нужно создать службу запуска systemd и поместить ее в/etc/systemd/system/Под содержанием.

Созданная нами служба запуска systemd выглядит следующим образом. Обратите внимание, что в этом случае суффикс.service, вместо.sh.

$ vim auto_run_script.service

[Unit]
Description=Run a Custom Script at Startup
After=default.target

[Service]
ExecStart=/home/alvin/auto_run_script.sh

[Install]
WantedBy=default.target

Как видно из содержимого сервиса, скрипт мы в итоге будем называть /home/alvin/auto_run_script.sh.

Затем мы вставляем этот скрипт в/etc/systemd/systerm/каталог, затем мы запускаем следующие две команды, чтобы обновить файл конфигурации systemd и запустить службу.

$ systemctl daemon-reload
$ systemctl enable auto_run_script.service

После того, как все будет готово, мы можем перезагрузить систему.

$ reboot

Наконец, в последнее время многие друзья попросили меняДорожная карта изучения Linux, поэтому я использовал свое свободное время, чтобы не ложиться спать допоздна в течение месяца, и составил электронную книгу, основываясь на собственном опыте. Независимо от того, проводите ли вы собеседование или занимаетесь самосовершенствованием, я считаю, что это поможет вам! Каталог выглядит следующим образом:

Дайте это всем бесплатно, просто попросите всех поставить мне палец вверх!

электронная книга | План обучения Linux-разработке

Я также надеюсь, что некоторые друзья смогут присоединиться ко мне и сделать эту электронную книгу более совершенной!

Есть урожай? Я надеюсь, что старые айроны придут к комбо из трех ударов и покажут больше людей, чтобы увидеть эту статью.

Рекомендуемое чтение: