备份脚本
#!/bin/bash
export KINGBASE_PASSWORD="123456"
file_path="/data/back-up-data/test"
currentdate=`date +%Y%m%d`
echo "开始备份,目录为:"$file_path$currentdate
/home/kingbase/cluster/kingbase/bin/sys_dump --file $file_path$currentdate --host "localhost" --username "system" --no-password --format=d --encoding "UTF8" --verbose "test"
echo "备份完成!"
- --file: 指定输出目录,该目录会由sys_dump创建并且不需要以前就存在。
- --host: 指定服务器正在运行的机器的主机名。
- --username: 连接数据库时使用的用户名。
- --no-password: 不输入密码,用于批处理任务和脚本。
- --format: 选择输出格式(**p:**输出一个纯文本形式的SQL脚本文件(默认值);c: 输出一个适合于作为pg_restore输入的自定义格式归档。和目录输出格式一起,这是最灵活的输出格式,它允许在恢复时手动选择和排序已归档的项。这种格式在默认情况还会被压缩;**d:**输出一个适合作为pg_restore输入的目录格式归档。这将创建一个目录;**t:**输出一个适合于输入到pg_restore中的tar-格式归档。tar 格式可以兼容目录格式,抽取一个 tar 格式的归档会产生一个合法的目录格式归档。不过,tar 格式不支持压缩。还有,在使用 tar 格式时,表数据项的相对顺序不能在恢复过程中被更改。)
- --encoding: 以指定的字符集编码创建转储。
- --verbose: 指定冗长模式。这将导致pg_dump向标准错误输出详细的对象注释以及转储文件的开始/停止时间,还有进度消息。
恢复脚本
#!/bin/bash
export KINGBASE_PASSWORD="123456"
echo "开始还原......"
/home/kingbase/cluster/kingbase/bin/sys_restore --host "localhost" --username "system" --no-password --role "system" --dbname "test" --format=d --verbose "/data/back-up-data/test-xxx"
echo "还原完成!"
- --host: 指定服务器正在运行的机器的主机名。
- --username: 连接数据库时使用的用户名。
- --no-password: 不输入密码,用于批处理任务和脚本。
- --role: 指定一个用来创建该转储的角色名。
- **--dbname:**连接到数据库dbname并且直接恢复到该数据库中。
- --format: 选择输出格式(**p:**输出一个纯文本形式的SQL脚本文件(默认值);c: 输出一个适合于作为pg_restore输入的自定义格式归档。和目录输出格式一起,这是最灵活的输出格式,它允许在恢复时手动选择和排序已归档的项。这种格式在默认情况还会被压缩;**d:**输出一个适合作为pg_restore输入的目录格式归档。这将创建一个目录;**t:**输出一个适合于输入到pg_restore中的tar-格式归档。tar 格式可以兼容目录格式,抽取一个 tar 格式的归档会产生一个合法的目录格式归档。不过,tar 格式不支持压缩。还有,在使用 tar 格式时,表数据项的相对顺序不能在恢复过程中被更改。)
- --verbose: 指定冗长模式。这将导致pg_dump向标准错误输出详细的对象注释以及转储文件的开始/停止时间,还有进度消息。
评论区