我正在尝试编写一个可以将服务设置为的脚本:
- 被杀后自动重启
- 开机时自动启动
我可以通过使用来做到这一点/etc/inittab
,但我正在使用的某些 AIX 服务器没有inittab
.这意味着我无法将服务设置为像 inittab 中的那样。当我尝试解决方法时,我发现了 mkssys、rmssys、startsrc 和stopsrc。所以我尝试使用所有命令编写脚本。
%post
if [ -f /bin/mkssys ]; then
mkssys -s myservice -p /opt/fikrie/bin/myservice -a "-n" -u -R -S -f 9 -n 15
startsrc -s myservice
else
#use the inittab's script here
fi
%postun
if [ -f /bin/stopsrc ]; then
stopsrc -s myservice
rmssys -s myservice
else
#use the inittab's script here
fi
这个脚本几乎完成了任务。唯一的问题是该服务不会在启动过程中启动。这意味着我需要在服务器首次启动时手动启动该进程。有什么命令可以做到这一点吗?我是否错过了 mkssys 命令中的任何可用选项?
我尝试跟踪 sshd 服务,因为它不在 inittab 中,但在启动过程中启动。也许我可以在我的服务中使用同样的技巧。我认为 sshd 在启动过程中使用 rc.d 来启动服务。所以我尝试在与 sshd 相同的目录中编写脚本,但它似乎不起作用。谁能帮助或引导我走上正确的道路?
答案1
我发现的解决方案之一是使用 rc.d 目录。以 sshd 为例,因为该进程没有使用 inittab,但仍然可以在启动时自动启动。