下記のような1日1回動くアクセス集計スクリプトを作成しております。
for文の外での変数の使い方とサーバごとの合算の仕方が分からないためご教授お願いできますでしょうか。
bash
1#!/bin/bash 2accesslog=/apache/logs/access_log 3host='111.11.111.11 222.22.222.22' 4yesterday=`date -d '-1 day' +%Y-%m-%d` 5today=`date +%Y-%m-%d` 6logfile=("$accesslog.$yesterday" "$accesslog.$today") 7 8for j in $host 9do 10for i in ${logfile[@]} 11do 12result=`ssh $j grep -v txt $i | wc -l` #ヘルスチェックリクエスト以外のアクセスの集計 13 if [ $result -gt 0 ];then 14 #ここに①の処理を入れたい 15 fi 16done 17 18if [ $result -gt 0 ];then 19 echo -e " $j アクセス件数:$result件" #②ここにサーバごとのアクセスの集計を出したいが変数$resultが引き継げない 20fi 21done
今の段階だと$resultが取れていないため1行しか出力されないので4件のログファイルをサーバごとに合算しサーバ数分のみで出力されるようにしたいです。
説明が下手で恐縮ですが宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。