redis安装-备份-恢复
1.安装参考:https://www.jb51.net/article/146744.htm
2.安装ruby2.3.3
.gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
.curl -L get.rvm.io | bash -s stable
.rvm生效
source /usr/local/rvm/scripts/rvm
.安装一个版本
rvm install 2.3.
.设置默认ruby
rvm use 2.3. --default
.ruby --version
.安装redis-dump
gem install redis-dump -V
8.dump出数据
redis-dump >test.json
参考:https://blog.csdn.net/qq_35981283/article/details/80454351 https://blog.51cto.com/wujianwei/2105124
3.导入数据
$ < db_full.json redis-load # 带密码的导入
$ < db_full.json redis-load -u :password@127.0.0.1:
参考:https://www.jianshu.com/p/b3447dc58a51
------------------------------------------------------------------------------------------------
1.主要文件
[root@k8s redis]# tree
.
├── dump_redisdata.sh
├── load_redisdata.sh
├── test.json
└── vars_config.conf
2.变量文件
[root@host163 opt]# cat /mnt/vars_config.conf
WORK_DIR="/mnt/"
DATENOW=`date +%Y%m%d`
OUTPUT_DIR=/data/backup/redis/redis"$DATENOW"
DATETIME=`date +%H%M`
LOAD_FILE=''
REDISDUMP_CMD="/usr/local/rvm/gems/ruby-2.3.3/bin/redis-dump"
HOST_PORT="192.168.1.163:6379"
ALERT_URL="http://192.168.1.144:9093/api/v1/alerts"
SUCCESSALERT='[
{
"labels": {
"local_time": "bjsj",
"alertname": "SUCCESSALERTnameaaaaaa",
"instance": "192.168.1.144",
"level": "info..."
},
"annotations": {
"description": "fffredis backup SUCCESS--descriptionsuccess",
"summary": "fffredis backup DONE..."
},
"startsAt": "rfcstartat",
"endsAt": "rfcendat"
}
]'
FAILALERT='[
{
"labels": {
"local_time": "bjsj",
"alertname": "fffFAILALERTname111",
"instance": "192.168.1.144",
"level": "CRITICAL.aafff.."
},
"annotations": {
"description": "redis backup FAIL--descriptionsuccess",
"summary": "redis backup FAIL..."
},
"startsAt": "rfcstartat",
"endsAt": "rfcendat"
}
]'
3.备份脚本
[root@host163 opt]# cat /mnt/backup_redis.sh|egrep -v "^$"
#!/bin/bash
#use ruby 2.3.3
source /usr/local/rvm/scripts/rvm
/usr/local/rvm/bin/rvm use 2.3.3 --default
source /mnt/vars_config.conf
#check dir and mkdir new dir if dir not exist
if [ ! -d "$OUTPUT_DIR" ]
then
mkdir -p "$OUTPUT_DIR"
fi
function sent_alert() {
#get time that 8 hours ahead now
date -d'+ 480min' --rfc-3339=seconds |sed 's/ /T/g' >bjsj_startat.txt
date -d'+ 481min' --rfc-3339=seconds |sed 's/ /T/g' >bjsj_endat.txt
#replace the space with T
sed -i "s#rfcstartat#`cat bjsj_startat.txt`#" jsondata.txt
sed -i "s#rfcendat#`cat bjsj_endat.txt`#" jsondata.txt
curl -XPOST -d"`cat jsondata.txt`" $ALERT_URL
}
#begin dump redis data
"$REDISDUMP_CMD" -u $HOST_PORT >"$OUTPUT_DIR"/redis$DATETIME-json
if [[ $? -ne 0 ]];then
echo "$FAILALERT" > jsondata.txt
sent_alert $FAILALERT
exit 1
fi
echo "$SUCCESSALERT" > jsondata.txt
sent_alert $SUCCESSALERT
#remove the old data created 6days ago
/bin/find $BACKUP_DIR -mtime +10 -type d -exec rm -rf {} \;
执行脚本:
bash backup_redis.sh
redis安装-备份-恢复的更多相关文章
- redis的备份恢复
说明:默认rdb方式保存,redis支持主从和哨兵等,但是在某些情况下我们会单机跑,所以有时候我们就会需要设计到备份恢复 环境:原始redis:192.168.1.200 新redis:192.168 ...
- [Redis] redis数据备份恢复与持久化
数据库备份,使用save命令,将会在redis的安装目录中生成dump.rdb 例如:在我的目录下 redis/src/dump.rdb 使用命令config get dir,获取当前redis的安装 ...
- 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南
本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...
- Redis安装配置与Jedis访问数据库
一.NOSQL概要 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.NoSQL数据库的四大分类 键值(Key-Value)存储数据库 这一类数据 ...
- Linux下Redis安装与PHP扩展(PHP7适用)
一,软件准备 #redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz #phpredis 非php7使用 下载后文件名为:ph ...
- linux上redis安装配置及其防漏洞配置及其攻击方法
Linux上redis安装: 需先在服务器上安装yum(虚拟机可使用挂载的方式安装) 安装配置所需要的环境运行指令: yum -y install gcc 进入解压文件执行make 指令进行编译 执 ...
- Linux中redis安装配置及使用详解
Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...
- redis 安装配置学习笔记
redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...
- redis安装集群的2种方式
redis主从只是数据的备份,当主宕机后不会自动切换从为主,需要手动切换从为主. 哨兵就可以自动切换从为主, 当主数据库遇到异常中断服务后,开发者可以通过手动的方式选择一个从数据库来升格为主数据库,以 ...
随机推荐
- 了解 Spring Boot
Spring Boot是什么,解决哪些问题? SpringBoot是伴随着Spring4.0诞生的: 从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架: S ...
- tarjan等
有向图注意v在栈中时,才用dfn更新low.无向图不用判断这个. SCC和边双,都是在返回时判断low==dfn. 点双就是找割点,low(v)>=dfn(u)时,把tarjan(v)过程中放入 ...
- The Preliminary Contest for ICPC Asia Xuzhou 2019 【 题目:so easy】{并查集维护一个数的下一个没有被删掉的数} 补题ING
题意:给[1,n],n个数,有两种操作: 1 x,删去x2 x,查询还未被删去的数中大于等于x的最小的数是多少. input: output: 做法:按照并查集的方法压缩路径 代码: #include ...
- Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) A题
A. Optimal Currency ExchangeAndrew was very excited to participate in Olympiad of Metropolises. Days ...
- [Luogu] 矩阵加速(数列)
题面:https://www.luogu.org/problemnew/show/P1939 题解:https://www.zybuluo.com/wsndy-xx/note/1153810
- Hdu Can you find it?(二分答案)
Can you find it? Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/10000 K (Java/Others) P ...
- c语言 内存,可执行文件
c语言代码与可执行文件的映射关系 函数中的代码 存储在.text 段中 已初始化的全局变量 存储在.data段 未初始化的全局变量 存储在.bss段中 程序类型 映射到file header中 面试题 ...
- Jmeter随机参数各种搭配
参数配置应该有三种场景,具体其他的我还没想到 一.两个固定值之间随机生成一个值,应用场景没有限制 1.最简单的两个值之间随机产生一个整数作为值,打开函数助手 2.选择函数 __Random 然后我想要 ...
- 为ubuntu安装powerline记录
C:\Users\win10的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\L ...
- 解决ScrollView中Recyclerview显示不全,滑动不流畅的问题
这个问题经常会碰到,看了下网上关于这个问题的解决方案,有很多都是复制粘贴的,并不能根本解决问题 比较有效的一种方案是在Recyclerview的外层套一个RelativeLayout 然后设置recy ...