Перейти до основного контенту

Автозапуск скрипта на Linux: як зробити запуск скрипта при старті операційної системи

4 хв читання
1745 переглядів

Автоматичний запуск скриптів при старті операційної системи Linux може бути корисним у багатьох випадках. Це може знадобитися, наприклад, для запуску фонових процесів, оновлення даних або налаштування роботи системи. У даній статті ми розглянемо, як налаштувати автозапуск скрипта на Linux.

Існує кілька способів налаштування автозапуску сценарію на Linux. Одним з найпростіших способів є використання файлу inittab, який є основним файлом конфігурації процесу init. У цьому файлі можна вказати команду, яка буде виконана при старті системи. Однак, даний спосіб може бути складним для новачків і вимагає прав адміністратора системи.

Іншим способом настройки автозапуску скрипта на Linux є використання файлів ініціалізації (init-скриптів). У подібних скриптах можна вказати команди, які потрібно виконати при старті системи або при вході конкретного користувача. Щоб створити init-скрипт, необхідно створити файл з розширенням ".sh" і помістити його в директорію "/etc/init.d/". Потім, за допомогою команди "chmod +x" необхідно встановити права на виконання скрипта.

Однак, найбільш рекомендованим способом настройки автозапуску скрипта на Linux є використання утиліти cron. На відміну від попередніх методів, cron дозволяє вказати не тільки час запуску скрипта (наприклад, щодня о 9:00 ранку), але і його регулярність (наприклад, кожну хвилину). Для створення завдання cron необхідно виконати команду "crontab-e", після чого вказати рядок, що містить час запуску і команду, яка буде виконана. Після збереження файлу, зазначена команда буде автоматично виконуватися за вказаним розкладом.

У даній статті ми розглянули кілька способів настройки автозапуску скрипта на Linux. Кожен з цих способів має свої особливості і може бути використаний в різних сценаріях. Рекомендується вибирати той спосіб, який найбільш зручний і безпечний для конкретного завдання. При правильному налаштуванні автозапуску скриптів можна спростити роботу з операційною системою Linux і підвищити ефективність виконання завдань.

Автозапуск скрипта на Linux: Як налаштувати запуск при старті ОС

На Linux існує кілька способів автозапуску скрипта при старті операційної системи. У цій статті ми розглянемо два найпоширеніші способи: використання файлів rc.local і systemd.

Файл rc.local - це скрипт, який запускається автоматично при кожному завантаженні Linux. Щоб налаштувати автозапуск скрипта з його допомогою, вам потрібно виконати кілька кроків:

  1. Відкрийте термінал і виконайте команду sudo nano /etc/rc.local. Це відкриє файл rc.local для редагування.
  2. Додайте команду, яка запустить ваш сценарій перед рядком exit 0. Наприклад, якщо ваш скрипт знаходиться у файлі /home/user/myscript.sh, то ви можете додати наступну команду: /home/user/myscript.sh &, де символ & означає запуск у фоновому режимі.
  3. Збережіть зміни та закрийте файл, натиснувши Ctrl + O, потім Enter, а тоді Ctrl + X.
  4. Тепер ваш скрипт буде запускатися автоматично при кожному завантаженні Linux.

Система systemd - це новий стандарт для управління службами в Linux. Щоб налаштувати автозапуск сценарію за допомогою systemd, виконайте такі дії:

  1. Створіть файл із розширенням .service у директорії /etc/systemd/system/. Наприклад, ви можете назвати його myscript.service.
  2. Відкрийте створений файл для редагування та додайте наступний код:
[Unit]Description=MyScript[Service]ExecStart=/home/user/myscript.sh[Install]WantedBy=default.target
  1. Збережіть зміни та закрийте файл.
  2. Виконайте команду sudo systemctl enable myscript.service Для активації служби.
  3. Тепер ваш скрипт буде запускатися автоматично при кожному завантаженні Linux.

Автозапуск скрипта на Linux-важлива функціональність, яка дозволяє вам налаштувати автоматичне виконання завдань при старті операційної системи. Використовуючи файли rc.local або створюючи службу за допомогою systemd, ви зможете зручно налаштувати автозапуск свого сценарію і не турбуватися про його запуск після кожного перезавантаження комп'ютера.

Налаштування автоматичного запуску сценарію на Linux через systemd

У Linux для автоматичного запуску скриптів при старті операційної системи може використовуватися сервісний менеджер systemd. Цей потужний інструмент дозволяє управляти процесами, в тому числі і запуском скриптів. Щоб налаштувати автозапуск сценарію через systemd, виконайте наведені нижче дії.

1. Створення файлу юніта для сервісу

Для початку необхідно створити файл юніта для сервісу, який буде запускати скрипт. Юніт-файл повинен містити інформацію про сервіс, його залежностях і команді запуску скрипта. Створіть новий файл із розширенням .service в директорії / etc/systemd/ system /(наприклад,/etc/systemd/system / myscript.service) і відкрийте його для редагування.

sudo nano /etc/systemd/system/myscript.service

У відкритому редакторі введіть наступний вміст:

[Unit]Description=My Script ServiceAfter=network.target[Service]ExecStart=/путь/к/скрипту.shUser=usernameGroup=usergroup[Install]WantedBy=default.target
  • Description - Опис сервісу;
  • After - вказує на залежності, тобто сервіс буде запускатися після виконання зазначених в поле сервісів;
  • ExecStart - команда, яка запускає скрипт. Вкажіть повний шлях до виконуваного файлу;
  • User - ім'я користувача, від імені якого буде запускатися скрипт;
  • Group - ім'я групи, від імені якої буде запускатися скрипт;
  • WantedBy - вказує на мету, тобто в який момент запускати сервіс (в даному випадку default.target означає запуск при старті системи).

Збережіть зміни та закрийте редактор.

2. Запуск сервісу і включення автозапуску

Тепер необхідно запустити створений сервіс і включити автозапуск. Для цього потрібно виконати наступні команди:

sudo systemctl start myscriptsudo systemctl enable myscript

Перша команда запускає створений сервіс, а друга команда включає автозапуск при старті системи.

Тепер ваш скрипт буде автоматично запускатися при старті операційної системи Linux з використанням systemd. Ви можете перевірити статус служби за допомогою команди:

sudo systemctl status myscript

В результаті ви отримаєте інформацію про поточний стан сервісу.

Таким чином, настройка автоматичного запуску скрипта на Linux через systemd досить проста і дозволяє ефективно управляти запуском скриптів при старті операційної системи.

Автовідтворення сценарію на Linux за допомогою cron

Для автозапуску скрипта за допомогою cron необхідно виконати наступні кроки:

  1. Відкрити термінал і виконати команду crontab -e, яка відкриє файл crontab у редакторі за замовчуванням.
  2. Додати рядок у форматі cron:

Тут /путь_к_скрипту/скрипт.ѕһ - це повний шлях до файлу скрипта, який потрібно запустити при старті системи. Зверніть увагу, що перед шляхом до скрипту вказується ключ @reboot, що означає, що скрипт буде запущений при кожному перезапуску операційної системи.

Після додавання рядка збережіть і закрийте файл crontab.

При наступному перезапуску операційної системи скрипт буде автоматично запущений. Крім того, якщо потрібно змінити графік запуску сценарію за допомогою cron, це також можна зробити, відредагувавши файл crontab командою crontab -e.

Важливо відзначити, що для успішного запуску скрипта через cron необхідно переконатися, що права на виконання у скрипта встановлені коректно.