标签:return lse shell 选项 ice 启动 run 日志 哪些
一、Redis部署情况
## 软件部署情况
[root@node31 ~]# ls -ld /data/apps/redis <==目录本身及以下所有文件的属主/组为redis
lrwxrwxrwx 1 root root 24 Oct 26 11:33 /data/apps/redis -> /data/apps/redis-4.0.14/
## 实例部署情况
[root@node31 ~]# tree /data/redis/ <==目录本身及以下所有文件的属主/组为redis
/data/redis/
├── 6379
├── conf # 6379实例的配置文件
├── data # 6379实例的数据目录(不管使用不使用持久化,都给创建好)
├── logs # 6379实例的日志文件
└── run # 6379实例pid的存放路径
二、Redis启停方式
## Redis服务用什么用户来启动 01:Redis建议使用普通用户来启动,不要用root用户来启动; 02:我一般会在操作系统下创建一个redis普通用户(要有家目录,要有密码,用户和密码不能过期) ## Redis的启停方式 启动:redis-server /data/redis/6379/conf/redis.conf 停止:redis-cli -h "可连接到redis实例的IP" -p "端口" -a "密码" shutdown >/dev/null 2>&1
三、Redis启动和停止的脚本内容
注意:该脚本只有root用户能够执行(脚本中进行限制了的),在启动redis服务时,是通过su - redis -c "redis的启动方式"来进行启动的
#!/bin/bash
#
# Define variables
RETVAL=0
User="redis"
Port=6379
Pass="chenliang"
Bind="172.16.1.31"
Exec="/data/apps/redis/src/redis-server"
Cliexec="/data/apps/redis/src/redis-cli"
Conf="/data/redis/6379/conf/redis.conf"
Pid="/data/redis/6379/run/redis.pid"
# Determine ther user to execute
if [ "$UID" -ne "$RETVAL" ];then
echo "Must be root to run scripts"
exit 1
fi
# Load functions
[ -f /etc/init.d/functions ] && source /etc/init.d/functions
# Define functions
start(){
if [ ! -f $Pid ];then
/usr/bin/su - $User -c "$Exec $Conf"
RETVAL=$?
if [ $RETVAL -eq 0 ];then
action "Start redis[$Port] service" /bin/true
else
action "Start redis[$Port] service" /bin/false
fi
else
echo "redis[$Port] service is running"
fi
return $RETVAL
}
stop(){
if [ -f $Pid ];then
$Cliexec -h $Bind -p $Port -a $Pass shutdown >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ];then
action "Stop redis[$Port] service" /bin/true
else
action "Stop redis[$Port] service" /bin/false
fi
else
echo "redis[$Port] is not running"
fi
return $RETVAL
}
status(){
if [ -f $Pid ];then
echo "redis[$Port] service is running"
else
echo "redis[$Port] service is not running"
fi
return $RETVAL
}
# Case call functions
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
restart)
stop
sleep 2
start
RETVAL=$?
;;
status)
status
RETVAL=$?
;;
*)
echo "USAGE:$0{start|stop|restart|status}"
exit 1
esac
四、脚本执行结果
# 查看redisd脚本有哪些选项
[root@node31 ~]# /data/redis/6379/redisd
USAGE:/data/redis/6379/redisd{start|stop|restart|status}
# 查看当前redis 6379实例的状态
[root@node31 ~]# /data/redis/6379/redisd status
redis[6379] service is not running
# 启动redis 6379实例并查看状态
[root@node31 ~]# /data/redis/6379/redisd start
Start redis[6379] service [ OK ]
[root@node31 ~]# lsof -i :6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 8000 redis 6u IPv4 34575 0t0 TCP node31:6379 (LISTEN)
# 重启redis 6379实例并查看状态
[root@node31 ~]# /data/redis/6379/redisd restart
Stop redis[6379] service [ OK ]
Start redis[6379] service [ OK ]
[root@node31 ~]#
[root@node31 ~]# lsof -i :6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 8042 redis 6u IPv4 34747 0t0 TCP node31:6379 (LISTEN)
# 停止redis 6379实例
[root@node31 ~]# /data/redis/6379/redisd stop
Stop redis[6379] service [ OK ]
[root@node31 ~]# lsof -i :6379
[root@node31 ~]#
五、加入开机自启动
我一般是放在/etc/rc.local文件,并让该文件的权限为744
[root@node31 ~]# echo -ne "\n# Boot start redis service[6379]. USER:chenliang TIME:$(date +%F)\n/data/redis/6379/redisd start\n" >>/etc/rc.local [root@node31 ~]# tail -2 /etc/rc.local # Boot start redis service[6379]. USER:chenliang TIME:2020-02-17 /data/redis/6379/redisd start
标签:return lse shell 选项 ice 启动 run 日志 哪些
原文地址:https://www.cnblogs.com/chenliangc/p/11746400.html