elog定期归档

该脚本的作用是在Linux版本的神通数据库下面定期进行神通数据库后台elog日志归档和存储, 以便在用户需要存储elog日志时使用。请讲该脚本放在操作系统的/usr/local/sbin目录下, 并且根据需要设置linux操作系统crontab调度任务定期执行该脚本。

#/bin/sh



source /etc/profile

date
elog=$SZ_OSCAR_HOME/log/SZXDB                             ##elog日志文件目录
count=`ls $elog/elog*|wc -l`;
archive_count=`expr $count - 10`;         ##数字10是留下的归档文件个数
archive_dest=/stdata/archive/archivelog;          ##归档后tar包存放目录
archive_file_delete=`ls -t $elog|grep "elog*" |tail -n $archive_count`
archive_file=`ls -t $elog|grep "elog*"|tail -n $archive_count`
time=`date +%Y%m%d%H%m%S`                                         ##生成归档后的文件时间格式,比如archivelog20120722000701.tar

if [ ! -d "${archive_dest}" ];then
  mkdir -p "${archive_dest}";
fi

echo "======================"
echo "Start time: ${time}"

if [ ${archive_count} -gt 0 ];then
  cd ${elog}
  echo "tar -zcvf '${archive_dest}/archivelog${time}.tar' ${archive_file}"
  tar -zcvf "${archive_dest}/archivelog${time}.tar" ${archive_file}
  if [ $archive_count -gt 0 ];then
    echo "rm -f ${archive_file_delete}"
          rm -f ${archive_file_delete};
  fi
else
  echo "No archive elog!!"
fi

echo ""