自学内容网 自学内容网

centos将sh文件设置为开机自动执行

一、先创建一个sh文件

vim redis-6.0.3.sh

这个是redis执行的sh脚本内容

#!/bin/sh
# chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=7000     # 对应redis.conf文件的端口
EXEC=/usr/redis/redis-6.0.3/src/redis-server  # redis-server 文件的位置
CLIEXEC=/usr/redis/redis-6.0.3/src/redis-cli  # redis-cli 文件的位置

PIDFILE=/var/run/redis_${REDISPORT}.pid  # 进程文件的位置
CONF="/usr/redis/redis-6.0.3/redis.conf"   # 配置文件的位置

case "$1" in
    start)
        if [ -f $PIDFILE ]  # 如果redis进程文件存在
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF 
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -h 192.168.139.128 -p $REDISPORT shutdown  # 该命令为  redis-cli -h ip地址 -p 端口 shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

解析

#!/bin/sh  //这个是脚本固定写法

#chkconfig:2345 10 90    //此行的2345参数表示,在哪些运行级别启动,10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。

其中2345是默认启动级别,级别有0-6共7个级别。

等级0表示:表示关机   
等级1表示:单用户模式   
等级2表示:无网络连接的多用户命令行模式   
等级3表示:有网络连接的多用户命令行模式   
等级4表示:不可用   
等级5表示:带图形界面的多用户模式   
等级6表示:重新启动

二、为这个脚本加上可执行权限

chmod +x redis-6.0.3.sh

三、将脚本移动到/etc/rc.d/init.d目录下

/usr/redis/redis-6.0.3.sh是sh脚本文件存放的路径

mv /usr/redis/redis-6.0.3.sh /etc/rc.d/init.d 

四、设置该脚本为开机自运行

4.1 将脚本加入chkconfig命令进行管理

cd /etc/rc.d/init.d
#将脚本加入chkconfig命令进行管理
chkconfig --add redis-6.0.3.sh 
#设置为开机自运行
chkconfig redis-6.0.3.sh on

拓展

如果要移除

cd /etc/rc.d/init.d
#关闭开机自启动
chkconfig redis-6.0.3.sh off
#将脚本从chkconfig移除
chkconfig --del redis-6.0.3.sh


原文地址:https://blog.csdn.net/qq_36138652/article/details/136232136

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!