作ってみた
#!/usr/local/bin/bash LANG=C TODAY=`date -v-1d +%Y%m%d` LOG_DIR=$HOME/log ACCESS_LOG=access_log_$TODAY cd $LOG_DIR for logfile in $ACCESS_LOG do for domain in `/usr/bin/awk '{print $1}' $logfile | /usr/bin/sort | /usr/bin/uniq` do if [ ! -e $domain ]; then /bin/mkdir $domain fi /usr/bin/grep "^$domain" $logfile | /usr/bin/cut -f2- -d ' ' > $LOG_DIR/$domain/$logfile done done # /bin/rm $ACCESS_LOG exit
上記スクリプトを適当なファイル名(split.shとか)で保存 その日のログは大体00:10くらいにはできてるので、それ以降にスクリプトを実行 /home/ユーザ名/log/ドメイン名/access_log_YYYYMDDが出力される あとはお好きに cronとかにでも登録しとくと自動で分割されるので便利、かも