利用wget 和 curl 监控网站是否正常
监控网站URL是否正常最常见的方法莫过于wget和curl命令了,这两个命令都是非常强大,参数也非常多,下面列举几个常用的参数。
wget 常用命令参数:
--spider 模拟爬虫的行为去访问网站,但不会下载网页
-q --quite 安静的访问,禁止输出,类似-o /dev/null
-o --output-file=FILE 记录到输出文件
-T --timeout=SECONDS 访问网站的超时时间
-t -tries=NUMBER 重试次数
curl 常用命令参数:
-I/--header 显示响应头信息
-m/--max-time<seconds> 访问超时时间
-o/--output<file> 记录访问信息到文件
-s/--silent 静默模式访问,不输出信息
-w/--write-output<format> 以固定格式输出,例如%{http_code},输出状态码
实际监控网站我们可以利用curl 或者wget 的返回值判断网站是否正常:
[root@localhost ~]# wget --spider -T -q -t www.baidu.com
[root@localhost ~]# echo $? 利用返回值确定网站是否正常
[root@localhost ~]# curl -s -o /dev/null www.baidu.com
[root@localhost ~]# echo $?
获取命令执行后的状态码:
[root@localhost ~]# curl -I -m -s -w "%{http_code}\n" -o /dev/null www.baidu.com
监控url shell脚本:
#!/bin/bash
usage() {
echo $"useage:$0 url"
exit
}
check_url() {
curl -s -o /dev/null $ ## wget --spider -q -o /dev/null --tries= -T $ 也可以使用wget获取返回值
if [ $? -eq ];then
echo "$1 is ok"
exit
else
echo "$1 is fail"
exit
fi
}
main() {
if [ $# -ne ];then
usage
fi
check_url $
}
main $* #把所有命令行接收到的参数作为函数参数传给函数内部
利用wget 和 curl 监控网站是否正常的更多相关文章
- shell+curl监控网站页面(域名访问状态),并利用sedemail发送邮件
应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...
- shell+curl监控网站页面(域名访问状态),并利用sendemail发送邮件
应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...
- linux下利用curl监控网页shell脚本
#!/bin/bash smail() {mail -s "$1" gjw_apparitor@gmail.com <<EOF$1$2====report time: ...
- Linux系统下利用wget命令把整站下载做镜像网站
Linux系统下利用wget命令把整站下载做镜像网站 2011-05-28 18:13:01 | 1次阅读 | 评论:0 条 | itokit 在linux下完整的用wget命令整站采集网站做镜像 ...
- 利用wget 抓取 网站网页 包括css背景图片
利用wget 抓取 网站网页 包括css背景图片 wget是一款非常优秀的http/ftp下载工具,它功能强大,而且几乎所有的unix系统上都有.不过用它来dump比较现代的网站会有一个问题:不支持c ...
- 如何监控网站URL是否正常?
监控网站URL是否正常最常见的方法莫过于wget和curl命令了,这两个命令都是非常强大的,强大到网友查看帮助都无从选择的地步了,今天呢,老男孩老师正好录制Shell编程实战课程,因此,顺便总结了一下 ...
- curl命令,curl实现post,curl监控网页shell脚本,curl多进程实现并控制进程数,
cURL > Docs > Tutorial: http://curl.haxx.se/docs/httpscripting.html 下载单个文件,默认将输出打印到标准输出中(STDO ...
- shell监控网站是否自动运行并自动重启【原创】
shell监控网站是否自动运行并自动重启 #!/bin/bash -T www.baidu.com ];then echo "`date` 网站访问正常!" >> /r ...
- 苹果电脑利用wget总是会出现无法建立 SSL 连接的问题
在做迁徙学习的过程中,需要下载已经训练好的Inception_v3模型,首先我们为了将下载的模型保存到指定的地方,我们需要利用 wget -P 想要保存的目录 模型的网址,例如 wget -P /Vo ...
随机推荐
- 搞定vscode编写java
下载vscode: 地址: https://code.visualstudio.com/ 安装插件 我这里下载的是绿色版,所以解压后 向桌面发送一个快捷方式 找到VS Code 的快捷方式位置: 右键 ...
- Linux中/etc/passwd 和 /etc/shadows 详解
linux操作系统上的用户如果需要登录主机,当其输入用户名和密码之后: 首先在/etc/passwd文件中查找是否有你的账号,如果没有无法登录,如果有的话将该用户的UID和GID读出来,此外将此用户的 ...
- python 遇到的一些问题和解决方法
安装crypto python3里面这个改成了pycryptodome 1. pip3 install pycryptodome 或者 pip3 install -i https://pypi.do ...
- c++笔记2
一 继承和多态.虚函数:类不必重复造轮子,可以从其它基类派生而来(多重继承(由多个基类的特点)和虚拟继承(基类的一些特性在继承之间共享)).派生类需要在自己的头文件中包含基类头文件,切派生类声明要指明 ...
- nginx错误Upstream timed out
Upstream timed out (110: Connection timed out) while reading response header from upstream 这种情况主要在下面 ...
- java程序员应该知道的20个有用的库
https://blog.csdn.net/weixin_43923408/article/details/87885668
- HTML5:使用postMessage实现Ajax跨域请求
HTML5:使用postMessage实现Ajax跨域请求 由于同源策略的限制,Javascript存在跨域通信的问题,典型的跨域问题有iframe与父级的通信等. 常规的几种解决方法: (1) do ...
- Servlet中文件上传的几种方式
上传文件,因为上传的都是二进制数据,所以在Servlet中就不能直接用request.getParameter();方法进行数据的获取,需要借助第三方jar包对上传的二进制文件进行解析.常用的方式如下 ...
- 2018年湘潭大学程序设计竞赛G又见斐波那契(矩阵快速幂)
题意 题目链接 Sol 直接矩阵快速幂 推出来的矩阵应该长这样 \begin{equation*}\begin{bmatrix}1&1&1&1&1&1\\1 & ...
- vuejs 学习旅程一
来上海快一年了,一直在东钿金融工作着,这一年来主要负责公司前期的房产评估微信平台,公司IT部也是刚刚成立,成立IT部门不仅仅只是维护房产评估微信,而是要做一个互金理财平台.于是我一年来的主要工作是负责 ...