Webサイトのアクセスログから、訪問上位者の訪問回数とIPアドレスを抜き出したいと考えています。
シェルスクリプトにして、cronで1分ごとに稼働させ、レポートを作ろうと考えているのですが、パイプを使用したコマンドのスクリプトへの変換がうまく行きません。
bash
1#/bin/bash 2 3# 1分前の時刻 ex)26/May/2016:23:58 を抽出 4DATE_1=`date -d '1 minutes ago' '+%d/%h/%Y:%H:%M'` 5 6# sort 7echo "sudo cat /var/log/nginx/access.log |grep '$DATE_1'| awk '{print $1}' | uniq -c | sort -r | head -10" 8 9exit 0 10
パイプと$1の扱いがNGなのだと思いますが、修正方法を教えていただけないでしょうか。
よろしくお願いします。
##【追記】
otnさんのアドバイスにより、完成したので追記します。otnさんありがとうございます^^
bash
1#/bin/bash 2#日時のスタンプ 3date '+%y/%m/%d %H:%M:%S' >> test.txt 4 5# 1分前の時刻 ex)26/May/2016:23:58 を抽出 6DATE_1=`date -d '1 minutes ago' '+%d/%h/%Y:%H:%M'` 7 8# sort 9sudo cat /var/log/nginx/access.log | grep $DATE_1 | awk '{print $1}' | sort | uniq -c | sort -nr | head -10 >> test.txt 10exit 0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/05/27 01:11
2016/05/27 13:22
退会済みユーザー
2016/05/27 13:40