如何为以下条件实现logrotate?

时间:2017-04-19 20:29:05

标签: linux logging logrotate

我有针对不同流程的特定日志集。考虑

Log_name1.Date.0.log(当前日期最早的)----->
Log_name1.Date.1.log
Log_name1.Date.2.log

Log_name2.Date.0.log(当前日期最早的)----->
Log_name2.Date.1.log
Log_name2.Date.2.log

像这样,每天都会添加日志。现在我希望像这样实现logrotate,特定日期的所有日志应该在3天后压缩在一起。即..如果今天存储日志,3天后,必须自动压缩。所有不同的日志都可以压缩在一起。但每天必须有单独的tar.gz.有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

不确定操作系统,但您可以使用脚本制作Cron或程序任务;这是linux上脚本的一个例子:

#! /bin/sh
tipo=${PWD##*/} 
bkp_dir="/home/USER/${tipo}-$(date +%Y%m%d)"
echo "BackUp From Folder: ${tipo}"
echo "Make BackUpFolder: ${bkp_dir}"
mkdir $bkp_dir
for dir in */
do
    base=$(basename "$dir")
    tar -zcvf "${bkp_dir}/${base}-$(date +%Y%m%d).tar.gz" "$dir/Log_name1.*.log"
done
sleep 5
clear
echo "BackUp Ready:"
ls -l $bkp_dir