每个月定时清理压被日志脚本
2017-04-01 23:01
417 查看
因为需要日志的备份,所以就在以前的脚本的基础上重新改了下(http://jim123.blog.51cto.com/4763600/1912312),以实现日志的压缩备份和清理:
#!/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 {} \;
相关文章推荐
- Linux定时清理30天前的Tomcat日志脚本
- linux利用shell脚本和cron实现定时备份、上传及垃圾日志清理(原创)
- linux利用shell脚本和cron实现定时备份、上传及垃圾日志清理(原创)
- 《设置定时自动清理归档日志脚本 》
- 清理oracle10g日志----shell脚本定时任务执行rman
- Tomcat日志文件定时清理备份的脚本
- linux shell脚本定时清理tomcat日志文件(初稿)
- 日志定时压缩清理shell脚本(日志文件后缀格式如xxxxx.log.2017-07-10)
- DB2定时清理归档日志脚本
- linux 日志定时清理脚本
- linux 日志定时清理脚本
- 服务自动拉起,定时日志清理,数据统计的shell脚本
- hadoop学习之HDFS(2.7):实例:开发shell脚本定时采集日志数据到hdfs
- 七、编写每天定时切割Nginx日志的脚本【LNMP安装 】
- 长程序启动脚本,关闭脚本,清理日志~
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
- linux shell脚本 -- 定时任务--备份日志
- linux下清理日志脚本
- 编写每天定时切割Nginx日志的脚本
- 定时清理日志文件-python实现