Systemd
簡介
Linux 的各項服務管理一直都是用 SysV Init Script,Systemd 是新的管理工具,在 CentOS 7 開始已經有支援。
設定上比 SysV Init 簡單許多,指令的操作差異不大。
線上教學:
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Services.html#sect-Managing_Services_with_systemd-Services-List
支援的 Linux:
- CentOS 7+
- Ubuntu 16.04+
其他類似應用:
- Supervisor
這個被使用在 Ubuntu 9.10,Mac OS X (10.4/10.5/10.6),Solaris (10 for Intel) 及 FreeBSD 6.1。系統環境需要有 Python 2.4,但不支援 Python 3。
相關目錄:
- /etc/systemd/system 客製的服務啟動檔位置
- /lib/systemd/system 內建系統的服務啟動檔位置
服務設定檔
/etc/systemd/system/backup.service
[Unit]
Description=Backup daemon
[Service]
Type=simple
ExecStart=/path/to/backup
[Install]
WantedBy=multi-user.target
TIP:
multi-user.target 這是表示 Run Level 3
更多資訊可以前往 http://0pointer.de/blog/projects/systemd-for-admins-3.html
新增一個服務設定檔
/etc/systemd/system/freepbx.service
[Unit]
Description=Freepbx
After=mariadb.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start
ExecStop=/usr/sbin/fwconsole stop
[Install]
WantedBy=multi-user.target
將服務設為自動啟用
systemctl enable freepbx