Если у тебя есть полезный скрипт, который должен запускаться как сервис (например, при старте системы или по крону не подходит) - самое время подружить его с systemd.
1️⃣ Подготовка скрипта. Убедись, что скрипт исполняемый и логирует всё в файл:
#!/bin/bash
echo "$(date): Скрипт запущен" >> /var/log/myscript.log
# Здесь твоя логика
Сохрани его, например, в /usr/local/bin/myscript.sh
И не забудь дать права:
chmod +x /usr/local/bin/myscript.sh
2️⃣ Юнит-файл systemd. Создай сервис:
sudo nano /etc/systemd/system/myscript.service
Пример содержимого:
[Unit]
Description=Мой кастомный скрипт
After=network.target
[Service]
ExecStart=/usr/local/bin/myscript.sh
Restart=on-failure
User=root
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
3️⃣ Активация и запуск
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable myscript.service
sudo systemctl start myscript.service
Проверка:
systemctl status myscript.service
🌟 Зачем это вообще?
Скрипт запускается при старте
Контролируется systemd (перезапуск, статус, логи)
Удобная интеграция в системную инфраструктуру
🌟 Советы:
Нужен таймер? Используйmyscript.timer
Хочешь лог в journalctl? - уже встроено
Скрипт должен зависеть от другого сервиса? Укажи в After= и Requires=
BashTex 📱 #linux #utils