为 Informix IDS 服务器创建 Systemd 服务

vim /etc/systemd/system/informix.service

[Unit]
Description=Informix IDS
Documentation=file:/home/informix/release/en_us/0333 http://www.ibm.com/software/data/informix/library.html
OnFailure=notification-zabbix@%n.service
Wants=network-online.target
After=network.target network-online.target

[Service]
Type=forking
User=informix
Group=informix
#EnvironmentFile=/etc/profile.d/informix.sh
Environment="ENV_FILE=/etc/profile.d/informix.sh"
ExecStart=/bin/sh -a -c 'source $ENV_FILE && oninit -w -U $INFORMIXSERVER'
ExecStop=/bin/sh -a -c 'source $ENV_FILE && $INFORMIXDIR/bin/onmode -uky'
ExecStartPost=-/bin/sh -a -c 'source $ENV_FILE; if [ -f $INFORMIXDIR/autostart.sql ]; then $INFORMIXDIR/bin/dbaccess - $INFORMIXDIR/autostart.sql >>/tmp/autostart_${INFORMIXSERVER}.log 2>&1; fi'
ExecStartPost=-/bin/sh -a -c 'source $ENV_FILE; if [ -f $INFORMIXDIR/autostart.sql ]; then mv $INFORMIXDIR/autostart.sql $INFORMIXDIR/autostart_executed.sql; fi'
Restart=on-failure
RestartSec=60
#TimeoutStartSec=120

[Install]
WantedBy=multi-user.target

“Wants=network-online.target”行暗示 Informix HQ 服务应该等待网络在线启动。
“WorkingDirectory”行配置 systemd 在启动命令之前进入的文件夹。
行“ExecStart”。这里我们搞个小技巧。我们使用/bin/sh 的绝对路径来执行访问Java 的相对路径。
“用户=root”行。即使它应该是像informix这样的非root用户。在这个例子中我们使用root作为用户,允许将服务端口配置为80或443等特权端口。我保持默认的非特权端口8080,这里最好使用informix用户。

  1. 在 systemd 中创建 de 文件定义单元
  2. 执行“systemctl daemon-reload”
  3. 启动服务。EG systemctl start informix.service
  4. 启用系统启动时启动的服务:systemctl enable informix.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我曾阿牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值