Всем привет, меня зовут Лян Сюй.
На работе у нас часто возникает потребность в автоматическом запуске скрипта или сервиса после старта системы. В 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-разработке
Я также надеюсь, что некоторые друзья смогут присоединиться ко мне и сделать эту электронную книгу более совершенной!
Есть урожай? Я надеюсь, что старые айроны придут к комбо из трех ударов и покажут больше людей, чтобы увидеть эту статью.
Рекомендуемое чтение: