[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