我正在尝试使用以下格式重命名日志文件:logfile_access_server1.log根据其创建日期,以便它们具有以下格式:20121128.log 20121127.log etc ...并将它们gzip到另一个文件夹中,使用shell脚本。
我试过这个:
#! /bin/sh
for i in `ls *access*.log`
do
mv $i /home/log/$i$(date +%F-%T).gz
done
(我是shell脚本中的noob,显然它不起作用)
提前感谢您的帮助
学家
答案 0 :(得分:0)
for filename in *access*.log; do
basename=$(basename "$filename" .log)
timestamp=$(date -d "$(stat -c %y "$filename")" +%F-%T)
mv "$filename" "/home/log/$basename.$timestamp.log"
done
您是否调查了logrotate?