碰到不能写入的情况:
df -h 查看当前文件系统的容量,看看是不是满了
然后
touch 一下新文件,看看是否可以生成,不能生成就是只读文件系统的状态
碰到只读文件系统的时候,reboot 一下
然后输入密码,然后用fsck 命令 -A 来修复一下
检查完了然后再reboot 就可以了
netstat 查看进程
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
netstat -a|grep ESTABLISHED|grep -v grep|wc -l
查询已经建立网络连接的端口,并且统计个数
ps -ef|grep java|grep -v grep|wc -l
显示java进程的个数
判断mysql 服务有没有启动的方法:
1、过滤出mysql 的端口3306 进行判断
netstat -lnt|grep 3306|awk -F ‘[ :]+’ '{print $5}'
awk -F 找到 ,第一个''存储的是正则分隔符 第二个'' 打印第几个元素。(从一开始)
只有数字和数字比较,没有用‘空’进行比较,空可以用字符串进行比较
netstat -lnt|grep 3306|wc -l 最后一个管道是统计行数
egrep “3306|3307” 搜寻3306 或者3307
2、如果mysql 端口和进程同时存在的时候,mysql正在运行
ps -ef|grep mysqld|grep -v grep |wc -l grep -v grep 搜索结果过滤掉grep进程
killall -9 xxxx 无条件终止xxxxx
有时候杀进程不一定马上就杀得死的。。。要多杀几次才行???
>> 是追加内容
> 是覆盖原有内容
$MYSQL start >$LogPath 把mysql启动的结果重定向放入logPath
$MYSQL start >>$LogPath 追加放入内容
3、通过mysql 账户连接mysql 然后根据返回命令状态或者返回内容确认mysql是否正常
MYSQL=`mysql -uroot -p'oldboy' -S /data/3306/mysql.sock -e "select version();" >&/dev/null `
-e 表示虽然输入是在mysql终端的,但是结果还是留在老的终端里
4、定义MYSQL连接的变量,用ip远程来连接mysql
推荐方法:5、通过php、java 的url脚本程序监控mysql(web服务器监控脚本)Nagios软件(集中的服务器):统一去监控所有的服务器
1、nmap xxxx -p 80 nmap是个嗅探远端端口状态的工具,xxxx为ip或者域名都可以
2、wget -T 10 -q --spider xxxxx >&/dev/null 得到网页信息 -T 时长10秒 -q 是“安静的” 不输出内容 xxxx 网页信息 包括成功和失败信息 --spider 爬虫
3、不用 wget 可以用curl 方法 curl -s http://10.0.0.19 >&/dev/null 这个有 -s 也是“安静的” 不输出内容的
补充curl 和wget 的区别
CURL
基于libcurl库,libcurl是一个稳定的跨平台的类库,任何人可以免费使用其API进行开发。CURL继承了libcurl库的优良设计,这是它能成为优秀的命令行工具的重要原因。
管道(Pipes). CURL不仅仅遵循 传统UNIXstyle, 它在对输入和输出做更多的处理,贯彻了 "everything is a pipe" 的设计思想。cURL
返回值(Return codes). curl为一系列应用返回多种结果(错误),适用于很多情况。
单点传送 curl仅仅单点传送数据。它只会传送用户指定的URLS,并不包含任何递归下载的逻辑,也不对html进行任何解析。
多协议支持. curl 支持的协议有: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP 和 RTSP 在写这篇文章时,Wget仅仅支持 HTTP, HTTPS 和 FTP.
适应更多的平台: curl比wget运行在更多的平台上面,虽然curl设计当初并没有打算这样。比如: OS/400, TPF 和其他很多非UNIX的平台。
更强大的SSL库. curl能应用于多个不同的 SSL/TLS 库, 并提供了更多的可控性和对协议的广泛支持。
curl支持更多的 HTTP 认证方式
双向通信. curl 提供了上传能力,Wget仅仅支持HTTP post 方式
HTTP multipart/form-data 的发送能力, 这使得用户可以进行HTTP上传,模拟浏览器的行为和HTTP认证等,提供了更多操作的可能。
压缩. curl 支持GZIP和 inflate Content-Encoding 并且自动进行解压缩操作。
使用实例:http://os.51cto.com/art/200909/153386.htm
Wget
Wget 仅仅支持命令行方式运行. 没有类库,不提供API等。
递归! Wget 与CURL的最大区别也是Wget的最大的优势是可以进行递归的下载,可以一次下载一个HTML页面 或者ftp列表中的所有内容。A gnu head!
更久的历史. Wget 可以追溯到 1995年,curl则要在 1997年之后出现.
参与开发的人员相对较. 我打赌,任何参与这两个项目的人都能感觉到这一点。
HTTP 1.0. Wget 仍然仅仅使用 HTTP 1.0,但是它一直工作很好,并且对于最终用户没有任何影响。curl在2001年三月的时候就开始支持 HTTP 1.1 了(仍然保留对 1.0 请求的支持).
GPL. Wget 100% 遵循 GPL v3 协议,. curl 则是 MIT licensed.
GNU. Wget 是 GNU 项目的一部分 并且所有的版权归于 FSF. curl项目则是独立的,独立于任何组织,所有的版权属于Daniel。(哇!)
Wget 不需要任何额外参数 就能从URL下载文件到本地, 而curl需要至少 -o 或者 -O这两个参数.
4、通过状态码判断网站是否ok
curl -I -s www.baidu.com|head -1|cut -d “ ” -f2 head -1 表示取出第一行, cut表示裁剪 -d ‘ ’按照空格裁剪 -f2 从前往后第二个
返回页面的head
状态码:200 成功
301 永久跳转 rewrite 规则
403 禁止访问,权限问题
404 页面服务器不存在
500 内部服务器错误
502 坏的网关,网关向后端请求,后端不给正确的结果
503 服务不可用,超载或者停机
504 网关超时,网关向后端请求,后端超时
action “nginx is runing.” /bin/true "舒服的提示"会在屏幕上打印 nginx is runing. [OK]
telnet xxxxx port 看看能不能连上网站
1、echo -e “\n”|telnet baidu.com 80|grep Connected -e 表示telnet 完了再在原终端中敲入回车 就回到原终端了
2、nmap etiantian.org -p 80
3、 nc -w 5 www.etiantian.org 80 && echo ok -w 表示超时时间