[Unit]html
Description=backup /etcbash
Requires=atd.serviceide
[Service]ui
Type=simplespa
ExecStart=/bin/bash -c "echo /testdir/bak.sh|at now"rest
[Install]code
WantedBy=multi-user.targethtm
[unit] :定義與Unit類型無關的通用選項;用於提供unit的描述信息、 unit行爲及依賴關係等進程
[Service]:與特定類型相關的專用選項;此處爲Service類型ip
[Install]:定義由「 systemctl enable」以及"systemctl disable「命令在實現服務啓用或禁用時用到的一些選項
Description:描述信息
After:定義unit的啓動次序,表示當前unit應該晚於哪些
unit啓動,其功能與Before相反
Requires:依賴到的其它units,強依賴,被依賴的units沒法激活時,當前unit也沒法激活
Wants:依賴到的其它units,弱依賴
Conflicts:定義units間的衝突關係
BindsTo:與Requires相似,它指定的 Unit 若是退出,會致使當前 Unit 中止運行
Before:若是該字段指定的 Unit 也要啓動,那麼必須在當前 Unit 以後啓動
Conflicts:這裏指定的 Unit 不能與當前 Unit 同時運行
Condition...:當前 Unit 運行必須知足的條件,不然不會運行
Assert...:當前 Unit 運行必須知足的條件,不然會報啓動失敗
Type:定義影響ExecStart及相關參數的功能的unit進程啓動類型
simple:默認值,這個daemon主要由ExecStart接的指令串來啓動,啓動後常駐於內存中
forking:由ExecStart啓動的程序透過spawns延伸出其餘子程序來做爲此daemon的主要服務。原生父程序在啓動結束後就會終止。
oneshot:與simple相似,不過這個程序在工做完畢後就結束了,不會常駐在內存中 dbus:與simple相似,但這個daemon必需要在取得一個D-Bus的名稱後,纔會繼續運做.所以一般也要同時設定BusNname= 才行 notify:在啓動完成後會發送一個通知消息。還須要配合NotifyAccess 來讓 Systemd 接收消息 idle:與simple相似,要執行這個daemon必需要全部的工做都順利執行完畢後纔會執行。這類的daemon通
常是開機到最後才執行便可的服務。
EnvironmentFile:環境配置文件 ExecStart:指明啓動unit要運行命令或腳本的絕對路徑 ExecStartPre: ExecStart前運行 ExecStartPost: ExecStart後運行 ExecRsload: 重啓當前服務時執行的命令 ExecStopPost:中止當前服務以後執行的命令 ExecStartSec:自動重啓當前服務間隔的秒數 ExecStop:指明中止unit要運行的命令或腳本 Restart:當設定Restart=1 時,則當次daemon服務意外終止後,會再次自動啓動此服務。 TimeoutSec:定義 Systemd 中止當前服務以前等待的秒數。 Environment:指定環境變量。
Install段的經常使用選項:
Alias:別名,可以使用systemctl command Alias.service
RequiredBy:被哪些units所依賴,強依賴
WantedBy:被哪些units所依賴,弱依賴
Also:安裝本服務的時候還要安裝別的相關服務
注意:對於新建立的unit文件,或者修改了的unit文件,要通知systemd重載此配置文件,然後能夠選擇重啓。
# systemctl daemon-reload # systemctl daemon-reload
#systemctl restart httpd.service
更加詳細的unit配置文件格式 請參考官方文檔
https://www.freedesktop.org/software/systemd/man/systemd.unit.html