我如何为以下条件实施 logrotate?

How can I implement logrotate for the below condition?

我有一组针对不同进程的特定日志。考虑

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。有人可以帮忙吗?

不确定OS,但您可以使用脚本创建 Cron 或 Program 任务;这是 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