0

我正在尝试使用以下格式重命名日志文件:logfile_access_server1.log 根据它们的创建日期,以便它们具有以下格式:20121128.log 20121127.log 等...并使用 shell 脚本将它们压缩到另一个文件夹中。

我试过这个:

    #! /bin/sh

for i in `ls *access*.log`
do
mv $i /home/log/$i$(date +%F-%T).gz
done

(我是shell脚本的菜鸟,显然它不起作用)

在此先感谢您的帮助

J。

4

1 回答 1

0

不要解析 ls

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吗?

于 2012-11-28T15:43:15.670 回答