指定した時間の間、サーバへリクエストを送信する

#!/bin/sh

#sends a http request for specific seconds

url=http://www.example.com
seconds=10 #10秒と指定
timer=$((`date +%s` + $seconds)) #10秒後の時間を取得

echo "Sending request to $url for $seconds seconds"

while [ $timer -ne `date +%s` ]; do #10秒後の時間と現在の時間を比較し、一致しない間は処理を続行

curl $url >/dev/null 2>&1

if [ $? -ne 0 ]; then 
#サーバへの接続に失敗した場合はエラーメッセージを表示して終了
echo "Failed to send request!"
exit 1
fi

done

echo "Request has been sent!"


特定の時間、指定したサーバへリクエストを送信するスクリプトです。

※くれぐれも本スクリプトを自分の管理下にないサーバに対して使用しないでください。最悪の場合、サーバをDOS状態に陥らせてしまいます。

2015年1月28日 追記
宛先と秒数を標準入力から受け付けるように変更

#!/bin/sh

#sends a http request for specific seconds

if [ $# -ne 2 ]; then
echo "Usage: $0 [URL] [seconds]"
exit 1
fi

url=$1
seconds=$2
timer=$((`date +%s` + $seconds))


echo "Sending request to $url for $seconds seconds"

while [ $timer -ne `date +%s` ]; do

curl $url >/dev/null 2>&1

if [ $? -ne 0 ]; then

echo "Failed to send request!"
exit 2

fi

done

echo "Request has been sent!"

TripwireのDBをアップデートする

#!/bin/sh

#update tripwire report

dir=/usr/local/lib/tripwire/report/

report_file=$(ls -l $dir | tail -1 | awk '{print $NF}')

tripwire --update --accept-all --twrfile $dir$report_file -P [passphrase]

if [ $? -eq 0 ]; then
echo "Updated successfully!"
else
echo "Update failed! There might be some problem."
fi


TripwireのDBをアップデートするスクリプトです。
"--accept-all"はレポートファイルに含まれる全ての情報をDBへ反映させるオプションになります。
任意の情報のみをDBに反映させたい場合は本スクリプトは適しません。

DBのアップデートについては以下を参照
https://www.tripwire.co.jp/products/data/guide/guide08.html

以上

便利なコマンド置換記法

シェルスクリプトで変数にコマンドの出力結果を代入したい場合、コマンド置換機能を使います。
コマンド置換には以下のようにバッククォートを用います。
test_var=`date`
echo $test_var
Sun Oct 5 01:19:19 JST 2014


あるいは$()という記法もあります。

test_var=$(date)
echo $test_var
Sun Oct 5 01:20:54 JST 2014



$()を用いた記法のほうが便利です。例えばコマンドの中に更にコマンドを含める(ネストする)場合のことを考えてみましょう。

sample_var=`echo hello \`hostname\``


バッククォートを用いた場合、hostnameの部分のバッククォートをエスケープしないとhostnameがコマンドとして評価されません。しかし、いちいちエスケープするのは面倒だし、見づらいです。

これが、$()を用いた記法だと。。。

sample_var=$(echo hello $(hostname))


グッと見やすくなります。

以上。

プロフィール

トニヒコ

Author:トニヒコ
趣味は旅行と読書とマンガ。
将来の夢はコスモポリタン!

リンク・フリーです。

My hobby is traveling and reading(include manga).
My dream is to become cosmopolitan!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
スポンサード リンク
マクロミルへ登録
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR