INFORMIX备份 3、假设:1)$ONCONFI

admin7个月前未分类73

  如何实现Informix的ontape零级备份自动完成

  1、ontape是informix数据库的简单易用的备份工具,但是它必须交互进行,对数据库的日常维护有一定的限制,比如,我们想在晚上进行备份,而不是在白天工作的时间。

  2、下面我就简单示例,实现ontape的自动备份,这样我们就可以编写一个脚本,让操作系统在系统不忙时自动调用。

  3、假设:1 ) $ONCONFIG 中参数 TAPEDEV已设置TAPEDEV /Backup/archive0 # Tape device pathTAPEBLK 16 # Tape block size (Kbytes)TAPESIZE 2000000 # Maximum amount of data to put on tape (Kbytes)2) 备份数据的存放目录 /Backup ;3) 备份过程产生的日志文件放在/opt/informix/archive目录下;4) ftp.cmd 文件放在 /opt/informix/archive目录下;#----------Autobackup.sh Begin----------##autobackup.sh##加载数据库环境. /opt/informix/setenv#设置备份日志文件LOGFILE=/opt/informix/archive/archive.log#取得当前系统日期DATE=`date +%Y%m%d`echo "---------- INFORMIX SYSTEM BACKUP(`date +%c`) ----------" >>$LOGFILE 2>&1#生成一个备份的目标文件touch /Backup/archive0 >>$LOGFILE 2>&1chown informix:informix /Backup/archive0 >>$LOGFILE 2>&1chmod 660 /Backup/archive0 >>$LOGFILE 2>&1#开始零级备份echo ` ` | ontape -s -L 0 >>$LOGFILE 2>&1#将备份完成后的文件加上时间戳mv -f /Backup/archive0 /Backup/archive.$DATE >>$LOGFILE 2>&1#压缩备份compress -f /Backup/archive.$DATE >>$LOGFILE 2>&1#将备份文件传输到其它机器上cp -f /Backup/archive.$DATE.Z /Backup/ftp >>$LOGFILE 2>&1ftp -n >$LOGFILE 2>&1#删除5天前的备份COUNTS=`ls /Backup|sort|wc -l`echo "There is $COUNTS files in /Backup..." >>$LOGFILE 2>&1if [ $COUNTS -ge 7 ] ; thenecho "An oldest file will be delete ,please wait..." >>$LOGFILE 2>&1OLDFILE=`ls /Backup|sort|head -1` >>$LOGFILE 2>&1cd /Backuprm -f $OLDFILE >>$LOGFILE 2>&1echo "Delete file completed ,$OLDFILE was deleted." >>$LOGFILE 2>&1elseecho "There is no more then 6 file ,nothing to do..." >>$LOGFILE 2>&1fi#释放数据库无用内存onmode -F#------------autobackup.sh End-----------以上脚本可以使用操作系统的crontab命令,指定时间,自动运行,不用人工干预。

  4、另外附上使用ftp命令的自动传输教本。

  5、#------------ftp.cmd begin---------------------------open 9.185.43.62User backup backup123cd /RemoteBackupbinbinbinbinput /Backup/ftp/* /RemoteBackup/archive0Bye#--------------------------ftp.cmd end ----------------------在远端系统上同样可以使用crontab命令来处理传输过去的文件。

  6、大家可以自行修改以上脚本,使之适用于自己的环境。

  GLDATE是什么意思

  1、GL_DATEGL_DATE 环境变量指定 DATE 列值的最终用户格式。

  2、有关最终用户格式的信息,参见最终用户格式。

  3、要点:GL_DATE 是在使用时求值的,而不是在对其进行设置时求值的。

  4、如果此环境变量无效,则调用它的操作将失败元素 描述 string 指定 GL_DATE 值最终用户格式的格式化伪指令。

  5、您可以使用对日期进行格式化的任何格式化伪指令。

  6、 GL_DATE 中的最终用户格式可以包含以下字符:一个或多个空白字符(由语言环境的 CTYPE 类别指定) 一个普通字符(% 符号或空白字符除外) 一个格式化伪指令,由后跟转换字符(指定要求的替换)的 % 符号组成。

  7、以下列表描述不基于纪元的格式化伪指令。

  8、格式化伪指令 描述 %a 替换为语言环境中定义的缩写周日名称。

  9、 %A 替换为语言环境中定义的完整周日名称。

  10、 %b 替换为语言环境中定义的缩写月份名称。

  11、 %B 替换为语言环境中定义的完整月份名称。