Redis作为一种分布式内存数据库,具有高性能、易扩展等优点,应用越来越广泛。远程备份脚本是为了保证Redis安全性和稳定性,能有效的防止Redis丢失数据,并允许重启后恢复上一次运行状态。下面将介绍如何实现Redis远程自动备份脚本。
创新互联建站-专业网站定制、快速模板网站建设、高性价比红塔网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式红塔网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖红塔地区。费用合理售后完善,十余年实体公司更值得信赖。
为了实现远程自动备份,我们必须确保Redis实例存在备份功能,使用下面的命令进行配置:
save 900 1
save 300 10
save 60 1000
其中save 900 1表示如果900秒内进行修改,就持久化1条更新(或默认为一次),save 300 10表示300秒内操作十次,save 60 1000表示60秒内操作1000次。这样就可以确保我们在一段时间内有较少的数据丢失。
然后,我们需要写一个shell脚本作为Redis备份脚本,以实现定时备份,脚本大致如下:
#!/bin/bash
BACKUP_DIR="/opt/backup/redis/"
REDIS_PASSWORD="redis@pass"
REDIS_PORT="6379"
REDIS_HOST="127.0.0.1"
CUR_DATE=`date +%Y%m%d_%H%M%S`
REDIS_DUMP_FILE="${BACKUP_DIR}redis_${CUR_DATE}.rdb"
# Backup Redis Data
/usr/local/bin/redis-cli -h ${REDIS_HOST} -p ${REDIS_PORT} -a ${REDIS_PASSWORD} save
/usr/local/bin/redis-cli -h ${REDIS_HOST} -p ${REDIS_PORT} -a ${REDIS_PASSWORD} bgsave
# Wting for the bgsave success
while [ ! -f ${REDIS_DUMP_FILE} ]
do
sleep 1
done
# Compare the size and time
if [ -f ${REDIS_DUMP_FILE} ]
then
MD5_LATEST="$(md5sum ${REDIS_DUMP_FILE} | awk '{print $1}')"
MD5_BEGIN="$(md5sum "${BACKUP_DIR}redis.rdb" | awk '{print $1}')"
if [ "${MD5_LATEST}" = "${MD5_BEGIN}" ]
then
/bin/rm -rf "${REDIS_DUMP_FILE}"
fi
fi
# Create a soft link
/bin/ln -s "${REDIS_DUMP_FILE}" "${BACKUP_DIR}redis.rdb"
加上前面添加的配置,我们就能够实现远程自动备份Redis,我们可以将这段脚本放到/usr/local/bin目录下,并使用crontab定时运行,定时备份的时间也可以根据需求调整:
* */2 * * * /usr/bin/sh /usr/local/bin/redis_auto_backup.sh
以上就是用来实现Redis远程自动备份脚本的方法,可以有效保证数据安全性和稳定性,避免Redis因为数据丢失而发生意外。
成都创新互联建站主营:成都网站建设、网站维护、网站改版的网站建设公司,提供成都网站制作、成都网站建设、成都网站推广、成都网站优化seo、响应式移动网站开发制作等网站服务。
网站题目:Redis远程自动备份脚本实现(redis远程备份脚本)
本文路径:http://www.shufengxianlan.com/qtweb/news11/213461.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联