#!/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
fidone
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
fiurl=$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 2fi
done
echo "Request has been sent!"