首页 > 数据库 >redis安装-备份-恢复 -- redislive -- web管理工具

redis安装-备份-恢复 -- redislive -- web管理工具

时间:2023-06-26 12:05:14浏览次数:54  
标签:web dump -- redis rvm txt backup

1.安装参考:https://www.jb51.net/article/146744.htm

2.安装ruby2.3.3

1.gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
2.curl -L get.rvm.io | bash -s stable
3.rvm生效
source /usr/local/rvm/scripts/rvm
4.安装一个版本
rvm install 2.3.3
5.设置默认ruby
rvm use 2.3.3 --default
6.ruby --version
7.安装redis-dump
gem install redis-dump -V
8.dump出数据
redis-dump >test.json

参考:   https://blog.51cto.com/wujianwei/2105124

3.导入数据

$ < db_full.json redis-load 

# 带密码的导入
$ < db_full.json redis-load -u :[email protected]:6379

参考: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

用一个例子来演示会更加清晰



标签:web,dump,--,redis,rvm,txt,backup
From: https://blog.51cto.com/u_13747193/6552865

相关文章

  • django 环境和安装 + job - 蓝v - django.core.exceptions.ImproperlyConfigured: SQL
    1.部署蓝鲸2.安装djangomkdir~/.virtualenvspython3-mvenv~/.virtualenvs/djangodevpython-mvenv~/.virtualenvs/djangodevsource~/.virtualenvs/djangodev/bin/activatedeactivatesource~/.virtualenvs/djangodev/bin/activatepipinstallDjangopython-c&quo......
  • Vue项目难点解析---分页器静态组件【原理】
    分页器:为什么使用分页器?答案:按需加载为啥不直接使用ElementUI啥的第三方组件呢?答案:掌握自定义分页功能,更好的自定义分页规则呢,实现功能。实现原理:分页器实现条件?知道当前第几页:pageNo知道分页器一共需要展示多少条数据:total知道每一页需要展示数据个数:pageSize知道连续的页码数......
  • 如何克服自动化测试中的壁垒和问题?
    随着自动化测试技术的快速发展和普及,自动化测试已经成为各个行业广泛应用的重要测试手段。然而,自动化测试中仍然存在壁垒和问题,这些问题可能对测试效果产生影响,甚至会影响整个项目的进程。在本文中,我们将探讨如何克服自动化测试中的壁垒和问题。1.技术壁垒自动化测试涉及复杂的技术......
  • 软件测试的自动化工具
    在软件开发过程中,测试是必不可少的一个环节。而在测试中,测试人员需要花费大量的时间和精力进行手动测试,这不仅费时费力,而且效率较低。因此,自动化测试工具的出现为测试人员提供了更加便捷高效的测试方法。本文将介绍几种常见的自动化测试工具,并分析其特点和优势。1.SeleniumSeleniu......
  • Nginx-PHP优化设置 + lnmp调优的关键影响因素 + php-fpm + nginx返回码 + tcp调优 +
    最大文件描述符Linux内核本身有文件描述符最大值的**,你可以根据需要更改:系统最大打开文件描述符数:/proc/sys/fs/file-max临时性设置:echo1000000>/proc/sys/fs/file-max永久设置:修改/etc/sysctl.conf文件,增加fs.file-max=10000002、用户级设置vi/etc/security/limits.confhttp......
  • elk 入门 - 分析nginx日志 + json格式 + 有调试的意识 + elk7.2.0
    1.本次采用的一台主机,将所有的软件安装一台上进行测试工作。2.安装部署:https://blog.51cto.com/hwg1227/22999953.简单调试输出rubydebuginput{file{path=>"/usr/local/log_test/*/*/*.log"start_position=>"beginning"}}output{e......
  • VS依赖注入(DI)构造函数自动生成局部私有变量
    前言依赖注入(DI)在开发中既是常见的也是必需的技术。它帮助我们优化了代码结构,使得应用更加灵活、易于扩展,同时也降低了各个模块之间的耦合度,更容易进行单元测试,提高了编码效率和质量。我们经常会先定义局部变量,再在构造函数中使用,每次都要这样去编写耗时,下面通过VS自带功能,可以......
  • 时隔 15 年,巨著《Java 编程思想》新版终于来啦
    老版《Java编程思想》(原书名《ThinkinginJava》)得益作者开放深度研讨的创作方式,受到了全世界读者的追捧,被译为了十几种语言。但遗憾的是,在经历了4个版本的更新后,其最后一版发布于2007年,之后再无更新。直至Java8发布,随着大量新特性的发布,原书作者BruceEckel觉得很有必要......
  • 配置文件 proxy_set_header -发往后端服务器的请求头---- nginx日志设置级别调试技巧
    http{includemime.types;default_typeapplication/octet-stream;sendfileon;#tcp_nopushon;#keepalive_timeout0;keepalive_timeout65;server_tokensoff;log_formatmain'$remote_addr-$remote_user[$time_local]......
  • 华为认证 | 自学可以考HCIP吗?
    自学是一种考验自己意志力的表现。这就好比我们读书一样,你在学校如果没有老师辅导,你自学的话,那首先就是难度大,其次就是需要花费更多的时间和精力。那么自学可以参加HCIP考试吗?下面我们就来跟随小编来了解下吧。01自学可以参加HCIP考试吗可以。华为没有规定必须要参加培训之后才能......