一、问题背景
安装达梦数据库后,使用官方帮助文档操作集成到系统服务失败,于是考虑写一个启动脚本,将其集成到系统启动单元中。
二、编写shell启动脚本
#!/bin/bash# execute dmserver command and output logs to dm.log/dm8/bin/dmserver /dm/data/DAMENG/dm.ini &> dm.log &# daemonize the processdaemonize(){echo $$ > /var/run/dmserver.pidecho "达梦数据库启动成功!"exit 0}daemonize
三、编写系统服务启动单元
vim /etc/systemd/system/DMSQL.service
# DMSQL.service[Unit]Description=DM8SQL_ServiceAfter=network.target[Service]Type=forkingExecStart=/dm8/startDM8SQL.shRestart=on-failure[Install]WantedBy=multi-user.target
备注:因为启动脚本startDM8SQL.sh实际是在后台运行的程序,不是简单命令,所以Type应设置为forking。
四、启动效果
systemctl start DMSQL
systemctl status DMSQL
systemctl enable DMSQL
Created symlink from /etc/systemd/system/multi-user.target.wants/DMSQL.service to /etc/systemd/system/DMSQL.service.Loaded: loaded (/etc/systemd/system/DMSQL.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2023-08-23 09:48:45 CST; 1min 38s agoMain PID: 31742 (dmserver)CGroup: /system.slice/DMSQL.serviceAug 23 09:48:45 izoa3jxy7fndltz systemd[1]: Starting DM8SQL_Service...Aug 23 09:48:45 izoa3jxy7fndltz startDM8SQL.sh[31741]: 达梦数据库启动成功!

