请帮我写一个基于shell脚本编写的redis运维脚本
时间: 2023-06-30 10:21:40 浏览: 95
当然可以!以下是一个基于shell脚本编写的Redis运维脚本的示例:
```
#!/bin/bash
REDISCLI="/usr/local/bin/redis-cli"
REDISPORT="6379"
REDISHOST="localhost"
# 检查redis服务是否运行
redis_check() {
if ! $REDISCLI -h $REDISHOST -p $REDISPORT ping &>/dev/null; then
echo "Redis is not running!"
return 1
fi
}
# 停止redis服务
redis_stop() {
if redis_check; then
echo "Stopping Redis..."
$REDISCLI -h $REDISHOST -p $REDISPORT shutdown
fi
}
# 启动redis服务
redis_start() {
if ! redis_check; then
echo "Starting Redis..."
redis-server &
fi
}
# 重启redis服务
redis_restart() {
echo "Restarting Redis..."
redis_stop
sleep 1
redis_start
}
# 查看redis状态
redis_status() {
if redis_check; then
echo "Redis is running."
else
echo "Redis is stopped."
fi
}
# 执行指令
case $1 in
start)
redis_start
;;
stop)
redis_stop
;;
restart)
redis_restart
;;
status)
redis_status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
```
你可以将此脚本保存为`redis.sh`文件,然后通过`./redis.sh [start|stop|restart|status]`命令来启动、停止、重启或查询Redis服务的状态。请确保`redis-cli`和`redis-server`在正确的位置,并根据您的配置更改`REDISPORT`和`REDISHOST`变量。
阅读全文