方法一:
1.创建脚本文件(以.sh结尾)
# vi redis.sh
#!/bin/bash
#kconfig: 2345 90 10
# description: Redis is a persistent key-value database
#定义变量
#PORT=6379
NAME=redis-server
ID=`ps -ef | grep "$NAME" | grep -v "grep" | awk '{print $2}'`
#CHECK_PORT=`netstat -tnlp|grep "\b$PORT\b"`
PID_FILE=/var/run/redis_6379.pid
REDIS_CONFIG=/usr/software/redis/bin/redis.conf
REDIS_SERVER=/usr/software/redis/bin/redis-server
RETAVL=0
#检查shelk公共函数库是否存在,存在就加载
FUNCTIONS_PATH=/etc/init.d/functions
[ -f $FUNCTIONS_PATH ]&& source $FUNCTIONS_PATH
#检查redis文件是否存在并可执行
[ -x $REDIS_SERVER ]|| exit 0
#定义函数
#检查是否执行成功
check(){
RETAVL=$?
if
[ $RETAVL -eq 0 ];then
action "redis is $1" /bin/true
else
action "redis is $1" /bin/false
fi
}
#启动服务
start(){
if
[ -f $PID_FILE ];then
echo "redis already running"
else
$REDIS_SERVER $REDIS_CONFIG
check started
fi
return $RETAVL
}
#停止服务
stop(){
if
[ ! -f $PID_FILE ];then
echo "redis is not running."
else
for id in $ID
do
kill -9 $id
done
check stopped
fi
}
#重启服务
restart(){
stop
sleep 2
start
}
#判断
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage:$0{start|stop|restart|help}"
esac
exit $RETAVL
2.增加脚本可执行权限
# chmod +x redis.sh
3.将脚本移动到/etc/rc.d/init.d目录下
# mv redis.sh /etc/rc.d/init.d
4.将脚本添加进开机启动
# cd /etc/rc.d/init.d
# chkconfig –add redis.sh
# chkconfig redis.sh on
5.查看开机启动列表
# chkconfig --list
方法二:
1.创建脚本文件(以.service结尾)
# vi redis.service
#表示基础信息
[Unit]
#描述
Description=Redis Server Service
#在哪个服务之后启动
After=network.target
#表示服务信息
[Service]
Type=forking
#注意:需要和redis.conf配置文件中的信息一致
PIDFile=/var/run/redis_6379.pid
#启动服务的命令
#redis-server安装的路径 和 redis.conf配置文件的路径
ExecStart=/usr/software/redis/bin/redis-server /usr/software/redis/bin/redis.conf
#重新加载命令
ExecReload=/bin/kill -s HUP $MAINPID
#停止服务的命令
ExecStop=/bin/kill -s QUIT $MAINPID
#安装相关信息
[Install]
#以哪种方式启动
WantedBy=multi-user.target
#multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
2.增加脚本可执行权限
# chmod +x redis.service
3.将脚本移动到/usr/lib/system/system目录下
# mv redis.service /usr/lib/system/system
4.重新加载systemctl daemon-reload
# systemctl daemon-reload
5.设置开机启动
# systemctl enable redis.service
6.查看开机启动列表
# systemctl list-unit-files|grep enabled