/usr/bin/redis-cli -h 172.28.22.191 -p 6379 -a 123456 ping | grep 筛选Connection refused中的Connection refused中的Connection refused两个字段
时间: 2023-08-16 08:20:32 浏览: 48
你可以使用以下命令来筛选出 "/usr/bin/redis-cli" 命令输出中包含 "Connection refused" 的行,并提取出其中的 "Connection refused" 字段:
```
/usr/bin/redis-cli -h 172.28.22.191 -p 6379 -a 123456 ping 2>&1 | grep "Connection refused" | awk '{print $NF}'
```
这个命令执行了以下操作:
1. 使用 `2>&1` 将标准错误输出重定向到标准输出,这样 `grep` 命令才能筛选到错误信息。
2. 使用 `grep` 筛选包含 "Connection refused" 的行。
3. 使用 `awk` 提取每行的最后一个字段,即 "Connection refused"。
相关问题
#!/bin/bash REDISCLI="/usr/bin/redis-cli -a 123456" LOGFILE="/data/log/redis/keepalived-redis-state.log" output=$(/usr/bin/redis-cli -a 123456 INFO replication | grep role) >>$LOGFILE echo $output #判断自己是不是从机,如果是同步数据,不是将变成主机 if [ "$output" == "role:slave" ]; then /usr/bin/redis-cli -h 172.28.22.156 -p 6379 -a 123456 SLAVEOF 172.28.22.191 6379 >>$LOGFILE #主从同步命令,同时将156设置为191的从 /usr/bin/redis-cli -h 172.28.22.156 -p 6379 -a 123456 SLAVEOF NO ONE >>$LOGFILE echo "191主156从" exit else $REDISCLI SLAVEOF NO ONE >>$LOGFILE 2>&1 echo "191主" fi
这段 Shell 脚本的主要功能是通过 Redis 的主从同步功能来实现 Redis 的高可用。脚本的基本流程如下:
1. 获取 Redis 实例的复制信息,判断当前 Redis 实例是主机还是从机,并将信息输出到日志文件中;
2. 如果当前 Redis 实例是从机,则将其设置为主机的从机,并将原来的主机设置为无从机,同时将主从同步的过程输出到日志文件中;
3. 如果当前 Redis 实例是主机,则将其设置为无从机,同时将此信息输出到日志文件中。
这个脚本的目的是在 Redis 主从架构中保证 Redis 的高可用性,即当 Redis 的主机宕机时,能够快速地切换到从机来保证服务的连续性。具体来说,当当前 Redis 实例是从机时,它会将自己设置为新的主机的从机,并将原来的主机的从机设置为无从机;当当前 Redis 实例是主机时,它会将自己设置为无从机。
其中,关键的命令是 `SLAVEOF`,它能够将一个 Redis 实例设置为另一个 Redis 实例的从机。
请提供/usr/local/bin/redis-check.sh脚本内容
以下是一个示例的 `/usr/local/bin/redis-check.sh` 脚本内容,用于检测 Redis 的健康状态:
```bash
#!/bin/bash
REDIS_IP="<Redis服务器IP>"
REDIS_PORT="<Redis服务器端口>"
REDIS_PASSWORD="<Redis密码>"
redis-cli -h $REDIS_IP -p $REDIS_PORT -a $REDIS_PASSWORD ping | grep -q "PONG"
if [ $? -eq 0 ]; then
exit 0 # Redis 健康,返回状态码 0
else
exit 1 # Redis 不健康,返回状态码 1
fi
```
请根据实际情况替换 `<Redis服务器IP>`、`<Redis服务器端口>` 和 `<Redis密码>` 等占位符。
该脚本使用 `redis-cli` 命令向 Redis 服务器发送 `PING` 命令,并检查返回结果是否为 `PONG`。如果返回结果为 `PONG`,则表示 Redis 健康;如果返回结果不是 `PONG`,则表示 Redis 不健康。
在配置 Keepalived 时,可以将该脚本路径添加到 `vrrp_script` 配置项中的 `script` 属性中,用于定期检测 Redis 的健康状态。