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 ""