手动打包方式
请根据下列指导进行源成分打包,防止数据、配置、日志文件在安装包外导致丢失。
需要迁移的文件
操作步骤
- 查看需要迁移的文件是否在指定目录下。
- 在redis-server同级目录下创建一个用于存放迁移所需额外文件的目录,命名为source_related(例如“bin/source_related”)。
1 2
mkdir source_related cd source_related
- Redis启动需指定配置文件(默认为redis.conf),如果您的配置文件不在上述目录内,请执行以下命令。
1 2
mkdir -p ./path/to/ cp /path/to/redis.conf ./path/to
/path/to:为redis.conf存放目录,请根据实际情况进行替换。
- 查找数据、日志文件路径。
- 打开一个新的终端启动redis-server进入redis-cli控制台,执行以下命令查找数据文件路径(默认名称为dump.rdb和appendonly.aof)。
1
./redis-cli -h IP -p port
- IP:表示Redis的IP地址。
- redis-cli启动默认<port>为6379。
- 如果配置文件设置了requirepass字段,请执行以下命令验证密码。
1
AUTH password
- 查找数据目录地址。
- 获取dir:
1
CONFIG GET dir
返回信息如下:1 2
1) "dir" 2) "/home/user"
- 获取appendfilename:
1
CONFIG GET appendfilename
返回信息如下:
1 2
1) "appendfilename" 2) "appendonly.aof"
若返回信息为空(即empty list or set),请执行CONFIG GET appendonly,如果为yes,请前往3中Redis配置文件中查找appendfilename字段,如默认值appendonly.aof。
- 获取dbfilename:
1
CONFIG GET dbfilename
返回信息如下:1 2
1) "dbfilename" 2) "dump.rdb"
- 获取dir:
- 查找日志地址。
1
CONFIG GET logfile
返回信息如下:1 2
1) "logfile" 2) "/home/user/redis/redis-4.0.14/redis.log"
- 如果文件存在且不在上述目录结构中,回到之前的终端“source_related”目录下执行以下命令。
1
mkdir -p ./dir_address
- 复制数据文件。
1 2
cp /home/user/appendonly.aof ./dir_address cp /home/user/dump.rdb ./dir_address
- 复制日志数据。
1 2
mkdir -p ./home/user/redis/redis-4.0.14 cp /home/user/redis/redis-4.0.14/redis.log ./home/user/redis/redis-4.0.14
- 打开一个新的终端启动redis-server进入redis-cli控制台,执行以下命令查找数据文件路径(默认名称为dump.rdb和appendonly.aof)。
- 请在“redis-server”的父目录下创建一个名为devkit_redis_conf_data.json的JSON文件,并将以下内容添加至该文件中,请根据实际情况修改相关信息。如果使用哨兵模式,请确保is_sentinel_mode设置为true。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
{ "redis": { "redis_conf": "", "redis_conf_in_package": false, "redis_dir": "", "redis_dir_in_package": false, "redis_dbfile": "", "redis_aof": "", "redis_logfile": "", "redis_logfile_in_package": false, "redis_pidfile": "" }, "sentinel": { "sentinel_conf": "", "is_sentinel_mode": false, "sentinel_conf_in_package": false, "sentinel_dir": "" } }
Redis配置:
- redis_conf:Redis配置文件的绝对路径。
- redis_conf_in_package:Redis配置文件是否包含在Redis安装包中,默认为false。
- redis_dir:在4.c获取dir的绝对路径。
- redis_dir_in_package:Redis的dir是否在Redis安装包中,默认为false。
- redis_dbfile:在4.c获取的dbfilename绝对路径。
- redis_aof:在4.c获取的appendfilename绝对路径。
- redis_logfile:在4.d获取的logfile绝对路径。
- redis_logfile_in_package:Redis的logfile是否包含在Redis安装包中,默认为false。
- redis_pidfile:Redis配置文件中的pidfile路径。如果没有修改,可以不填写。
Sentinel配置:
- sentinel_conf:Redis哨兵配置文件的绝对路径,默认为sentinel.conf。
- is_sentinel_mode:是否启用哨兵模式,默认为false。若启用,设置为true。
- sentinel_conf_in_package:Redis哨兵配置文件是否在Redis安装包中,默认为false。
- sentinel_dir:Redis哨兵配置文件中的dir绝对路径。如果没有修改,可以不填写。
- 将待扫描的源成分对应安装目录打包为压缩包,以tar.gz格式压缩包为例,压缩包名称请根据实际情况替换。
- 在redis-server所在目录的上级目录执行以下命令打包,以redis.tar.gz为例。
- 对于bin/redis-server目录结构,进入bin上级目录:
tar -zcvf redis.tar.gz bin/
- 对redis-xxx/src/redis-server目录结构,进入redis-xxx上级目录:
tar -zcvf redis.tar.gz redis-xxx/
- 对于bin/redis-server目录结构,进入bin上级目录:
- 可通过以下两种方式获取源成分。
- 若使用“源成分包上传”方式,返回“添加成分信息”页签,单击“源成分包上传”后“上传”按钮,上传打包的源成分包。
- 若使用“节点服务器获取”方式,请执行如下命令解压源成分压缩包。
- 使用SSH远程登录工具,将压缩包上传至“所属节点”的自定义路径。
- 进入保存压缩包文件的自定义目录。
1
cd 自定义路径
- 解压源成分压缩包。
tar xvf redis.tar.gz
- 解压完成,可选择执行如下命令删除源成分压缩包。
rm -f redis.tar.gz
- 指定解压后的文件路径为“源成分所在路径”。
- 在redis-server所在目录的上级目录执行以下命令打包,以redis.tar.gz为例。
- 打包完成后请手动删除创建的source_related目录和devkit_redis_conf_data.json文件。
父主题: Redis源成分打包