매달 정기 적 으로 로그 스 크 립 트 를 정리 합 니 다.
#!/bin/bash
#backup_log.sh:Used to compress the backup logs
#note:Need to install the system bizp2 or you must configure the yum source
#00 00 1 * * /usr/local/scripts/backup_log.sh
#writer jim
#histor
#2017.4.1
########PATH########
app_dir=/usr/local/scripts/text_app_dir
logs_dir=/data/logs/clrnup_logs
logs_back_dir=/data/logs/logs_backup
one_month_ago=$(date -d '-1 month' +%Y-%m)
datetime=$(date +"%Y-%m-%d")
datetime_dir=$logs_dir/"$datetime"
logs_dir_path=$(find $app_dir -type d -name 'logs' -print)
logs_bz2_path=$(find $logs_back_dir -name "*${two_month_ago}*.bz2" -print)
if [ ! -e "$datetime_dir" ];then
mkdir -p $datetime_dir
fi
if [ ! -e "$logs_back_dir" ];then
mkdir -p $logs_back_dir
fi
########PATH########
rpm -qa | grep bzip2
if [ $? -ne 0 ];then
yum -y install bzip2
fi
echo "============================ start move logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log
for i in $logs_dir_path
do
tmp_dirname=$(dirname $i)
tmp_basename=$(basename $tmp_dirname)
if [ ! -e "${logs_back_dir}/${tmp_basename}" ];then
mkdir -p ${logs_back_dir}/${tmp_basename}
fi
/usr/bin/bzip2 -z $i/*${one_month_ago}*
mv $i/*.bz2 ${logs_back_dir}/${tmp_basename}
echo "`date +"%Y-%m-%d %H:%M:%S"` $i move logs success" | tee -a $datetime_dir/logs_clenup_${datetime}.log
done
if [ $? -eq 0 ];then
echo "============================ end move logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log
else
echo "move logs fail!" | tee -a $datetime_dir/logs_clenup_${datetime}.log
fi
echo "============================ start clean logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log
for i in $logs_bz2_path
do
rm -rf $(dirname $i)
echo "`date +"%Y-%m-%d %H:%M:%S"` $i cleanup bz2 success" | tee -a $datetime_dir/logs_clenup_${datetime}.log
done
if [ $? -eq 0 ];then
echo "============================ end clean logs `date +"%Y-%m-%d %H:%M:%S"`" | tee -a $datetime_dir/logs_clenup_${datetime}.log
else
echo "clean logs fail!" | tee -a $datetime_dir/logs_clenup_${datetime}.log
fi
find $logs_dir -type f -ctime +90 -name "logs_clenup_*" -exec rm -vf {} \;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Como gerar e manter o histórico do código com o git log.프로젝트 문서, mantendo um padrão e um bom histórico das mensagens de commit, pode ser gerada com o comandogit log . O subcoma...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.