我希望能够创建一个服务,以便每次服务器启动时运行 bash 脚本。
我正在运行 CentOS 5。
我一直在阅读有关 chkconfig 的信息,并在 /etc/init.d 中创建一个文件供 chkconfig 处理,但每当我“chkconfig servicename on”然后“service servicename start”时,我似乎无法让它工作
当我执行 chkconfig --list 时,我的服务就列在那里。
有人可以提供一下我需要在 /etc/init.d 中创建的文件示例以及如何让一切运行吗?
答案1
如果你只需要一个 bash 脚本在每次服务器启动时运行一个或多个任务,你可以从/etc/rc.local。这是我的 - 它通过调用其启动脚本来启动我的媒体服务器应用程序:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
#NK make sure nas is mounted:
mount -a
/etc/init.d/serviiod start
答案2
有启动脚本模板在 Fedora 项目网站上。
在同一页的模板下方,是有关在 RedHat/Fedora/CentOS 系统上编写 initscripts 标头的完整说明。如果您需要确保脚本在其他服务启动后运行,只希望脚本在特定情况下运行,或者希望图形系统管理工具显示有关脚本的完整信息,则可能需要执行此操作。
答案3
将您的脚本(例如 (dctm,dctm_jms))放置在路径 /etc/init.d 中
chmod +x dctm
chmod +x dctm_jms
chkconfig --add dctm
chkconfig --add dctm_jms
chkconfig --level 345 dctm on
chkconfig --level 345 dctm_jms on