0

ログファイルの名前を次の形式に変更しようとしています: logfile_access_server1.log 作成日に従って、次の形式になるようにします: 20121128.log 20121127.log など... シェルスクリプトを使用して別のフォルダーに gzip します。

私はこれを試しました:

    #! /bin/sh

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

(私はシェルスクリプトの初心者であり、明らかに機能しません)

よろしくお願いいたします。

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 に答える