1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

Webサイトが生きているかどうかを一括でチェックするスクリプト

2022-02-12 20:11:52

1. スクリプトは次のように記述します。

#! /bin/bash
url=(
www.baidu.com
www.pornhub.com
www.vip.com
www.91porn.com
www.taobao.com
)
for i in ${url[*]}
do
  ping -c 2 $i > /dev/null 2>&1
  if [ $? -eq 0 ];then
    echo "$i Service OK"
  else
    echo "$i service abnormal"
  fi
done

注意事項

  • 1は標準出力、"1 >/dev/null" はマスクされた標準出力です。
  • 2はstderr標準エラー&等価を意味し、2 >&1, 2リダイレクトの出力が1と等価であることを意味します。

2. スクリプトに実行権限を追加する

chmod +x website.sh 

3. 現在のパスでスクリプトを実行する

[root@host-135 ~]# . /website.sh 
www.baidu.com service normal
www.pornhub.com service abnormal
www.vip.com service normal
www.91porn.com service normal
www.taobao.com service normal

追記:urlの生存を一括して検出するスクリプトを紹介します。

シンプルな一括URL生存率検出スクリプト

最初にファイル内のurlを読み、次にrequestsモジュールでアクセスし、最後に正しくアクセスされたurlを抽出して指定されたフォルダにダウンロードするというものです。

import requests

with open(r'C:\Users\HP\Desktop\1111\link.txt','r',encoding = 'utf-8') as f:
 u = f.readlines()
 length = len(u) 
 for i in range(0,length):
 a = u[i].strip()
 try:
  headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0'}
  r = requests.get(u[i].strip(),headers = headers,timeout = 5 ).status_code
  if r ! = 200:
  print('Unable to connect'+':'+a)
  else:
  with open(r'C:\Users\HP\Desktop\1111\connect normal url.txt' ,'a') as f:# extract access normal file download path
   f.write(a+'\n')
 except:
  print('Connection timed out'+':'+a)

Webサイトが生きているかどうかを検出するスクリプトについての記事は以上です。ウェブサイトが生きているかどうかを検出するスクリプトについての詳細は、スクリプトハウスの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。