毎日午前 4 時に cron を実行するシェル スクリプトを作成して、squid の access.log ファイルのサイズを読み取り、特定のサイズ (20MB) を超えた場合にローテーションします。これが私がこれまでに持っているものです:
#!/bin/sh
ymd=$(date '+%Y-%m-%d')
file=/var/squid/logs/access.log
minimumsize="20000000"
eval $(stat -s /var/squid/logs/access.log)
if [ $st_size > $minimumsize ]; then
cp /var/squid/logs/access.log /var/squid/logs/access_log_history/access.log.${ymd}
rm -fr /var/squid/logs/access.log
squid -k rotate
else
:
fi
シェル スクリプトは実行されますが、サイズに関係なくログ ファイルをローテーションし、「20000000」という名前のファイルを作成します。それだ。ここでどこが間違っていますか?