1、创建脚本backupdb.sh
#在自定义目录下创建脚本文件backupdb.sh
cd /data
touch backupdb.sh
chmod +x backupdb.sh
vi编辑脚本:
#!/bin/bash
#时间戳
datestamp=`date +%Y%m%d%H%M%S`
#需要备份的库名列表,以空格分隔
DB_NAMES=(TESTDB1 TESTDB2)
for db_name in ${DB_NAMES[@]}
do
#进入到虚谷控制台工具所在目录,以系统管理员身份登录备份目标库执行备份命令,注意自己服务器本地的xgconsole对应版本,示例使用默认管理员密码
cd /data/XuguServer/BIN
./xgconsole-linux-arm64 nssl 127.0.0.1 5138 ${db_name} SYSDBA SYSDBA <<EOF
checkpoint;
backup DATABASE to '/BACKUP/${db_name}.exp';
EOF
#修改备份文件名,以时间戳为后缀,并只保留近30天的备份文件
mv /data/XuguServer/XHOME/BACKUP/${db_name}.exp /data/XuguServer/XHOME/BACKUP/${db_name}_${datestamp}.exp
done
find /data/XuguServer/XHOME/BACKUP/ -type f -mtime +30 -name '*.exp' -exec rm -f {} \;
2、编辑定时任务列表
crontab -e
新增定时任务,每天23点执行:
0 23 * * * sh /data/backupdb.sh