diff --git a/dumpRedis.sh b/dumpRedis.sh new file mode 100755 index 0000000..bd940f5 --- /dev/null +++ b/dumpRedis.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# 备份目录 +BACKUP_DIR="/tmp/redisDumps" +# Redis持久化文件路径(根据你的Redis配置文件进行调整) +# 解析命令行参数 +while [[ "$#" -gt 0 ]]; do + case $1 in + --dumpFile) REDIS_DUMP_FILE="$2"; shift ;; + *) echo "Unknown parameter passed: $1"; exit 1 ;; + esac + shift +done + +# 创建备份目录(如果不存在) +mkdir -p $BACKUP_DIR + +# 执行Redis的BGSAVE命令来创建快照 +redis-cli BGSAVE + +# 等待持久化操作完成,可以使用 sleep 来等待几秒钟(视情况而定) +sleep 5 + +# 检查并重命名现有备份文件 +if [ -f $BACKUP_DIR/dump2.rdb ]; then + echo "Removing existing dump2.rdb" + rm -f $BACKUP_DIR/dump2.rdb +fi + +if [ -f $BACKUP_DIR/dump1.rdb ]; then + echo "Renaming dump1.rdb to dump2.rdb" + mv $BACKUP_DIR/dump1.rdb $BACKUP_DIR/dump2.rdb +fi + +if [ -f $BACKUP_DIR/dump.rdb ]; then + echo "Renaming dump.rdb to dump1.rdb" + mv $BACKUP_DIR/dump.rdb $BACKUP_DIR/dump1.rdb +fi + +# 复制新的dump.rdb到备份目录 +echo "Copying new dump.rdb to $BACKUP_DIR" +cp $REDIS_DUMP_FILE $BACKUP_DIR/dump.rdb + +echo "Backup completed successfully." +