centos 开机启动脚本

centos6 开机脚本

centos6可以使用service和chkconfig来配置开机脚本,例如

  1. 配置开机脚本放在/etc/init.t目录下,如源码安装postgresql时开机运行contrib/start-scripts/linux放在此目录下并重命名为postgresql
  2. 脚本放在/etc/init.t目录后,就可以使用service 脚本名 start|stop|restart来执行命令
  3. 使用chkconfig --add 脚本名将此脚本设置为开机自动运行

样例

一个自己配置的脚本

#!/bin/bash
# chkconfig: 2345 10 90 
# description: 总行服务器lanzhou 监听8012端口

# return value
RETVAL=0

# 运行程序位置
server_dir="/zhang/lanzhou"

# 程序运行后生成pid文件,内容为程序的进程号
server_pid="$server_dir/run.pid"

server_name="lanzhou"


start() {
	echo -n "Starting ${server_name}:"

	PIDS=`ps -ef |grep $server_name$ |grep -v grep | awk '{print $2}'`
	if [ "$PIDS" != "" ]; then
		echo "${server_name} is runing!"
	else
		nohup $server_dir/$server_name >> nohup.log 2>&1 & echo $! > s.pid
		echo "ok"
	fi
}


stop(){
	echo -n "Stopping ${server_name}:"

	if [ ! -f $server_pid ];then
		echo "PID file \"${server_pid}\" does not exist"
		echo "Is ${server_name} running?"
	else
		kill -9 $(cat $server_pid)
		rm -f $server_pid
		echo "ok"
	fi
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                start
                RETVAL=$?
                ;;
        *)
                echo $"Usage: $0 {start|stop|restart}"
                exit 1
esac

exit $RETVAL

注意点:

  • # chkconfig: 2345 10 90 此行必须有,表示运行级别为2345,开机优先级10,关机优先级100-90,数字越大,优先级越低,比如postgre的为98 02
  • # description: 总行服务器lanzhou 监听8012端口此行必须有,表示说明
  • case "$1" in语句表示支持的命名,通常有start|end|restart

参考链接

Linux下systemctl命令和service、chkconfig命令的区别
Linux 服务管理两种方式service和systemctl

posted @   影随风动91  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示