
echo "备份文件"$BACKUPDIR/$ONTAPE_NAME.gz
echo "####################备份完成 "$(date +%F%n%T)"######################"
#删除 15 天前的全量备份
find $BACKUPDIR/ontape_L0* -mtime +15 -exec rm {} \;
#删除 3 天前的归档日志
find $BACKUPDIR/archivelog/kqdbgbase01* -mtime +3 -exec rm {} \;
echo "####################统计更新######################"
#!/bin/bash
source /home/gbasedbt/.bash_profile
BACKUPDIR=/backup/gbasedb
echo "select 'database '||name||';
update statistics;' as databasename from sysdatabases where name not like 'sys%'"|dbaccess
sysmaster >$BACKUPDIR/update.sql
sed -i 's/databasename//g' $BACKUPDIR/update.sql
dbaccess sysmaster $BACKUPDIR/update.sql
先执行测试一下是否可以正常备份。
./auto_backup.sh
设置定时任务每天凌晨 1 点执行备份脚本
先在 root 用户下修改 cron.allow 文件,没有就创建一个
添加 gbasedbt 用户,重启 cron 使规则生效。
vi /etc/cron.allow
gbasedbt
:wq
systemctl restart cron
切换到 gbasedbt 用户
假设备份脚本 auto_backup.sh 存放在/home/gbasedbt 目录下
创建定时任务
评论