Linux命令小结:crontab/netstat/iostat/sar
crontab
cron可以设定在指定的时间运行任务。
1、查看定时任务
[root@client1 ~]# crontab -l -u root
*/1 * * * * date >> /root/1.txt
[root@client1 ~]# cat /var/spool/cron/root
*/1 * * * * date >> /root/1.txt
查看root用户的定时任务。上面的例子中只有一个定时任务,它每隔1分钟时间将当时的时间追加到/root/1.txt文件。实际上,定时任务被写入到/var/spool/cron/目录中。
2、编辑定时任务
crontab -e
编辑定时任务。
[root@client1 ~]# cat /etc/crontab
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
定时任务的设置格式如上所示,它包含执行命令的时间以及命令的内容两部分内容。命令执行时间分成分、时、天、月以及星期5个部分。实际上,cron进程除了从var/spool/cron目录中读取定时任务外,还从/etc/crontab中读取。后者是针对系统的定时任务,因此命令执行时间和命令内容外还多了项用户。
3、cron进程
[root@client1 ~]# /etc/init.d/crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
修改定时任务后,可以不重启cron进程。
iostat
用于打印块设备、分区以及NFS的IO的统计信息。此外,还会打印CPU的统计信息。
1、用法
[root@client1 ~]# iostat -d /dev/sda1
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda1 0.02 0.69 0.00 21232 32
[root@client1 ~]# iostat -d /dev/sda1 -k
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda1 0.02 0.34 0.00 10616 16
[root@client1 ~]# iostat -d -x /dev/sda1 10 2
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda1 0.01 0.00 0.02 0.00 0.77 0.00 32.41 0.00 0.68 0.52 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
例子打印了2次/dev/sda1块设备的IO统计信息,每次间隔为10秒钟。命令参数-d代表值输出设备的IO信息不打印CPU的统计信息;-x代表打印扩展信息; -k代表以kB_read的格式输出。
2、输出说明
一般信息(读写数据量)
tps: 每秒发送到设备的transfer数目,transfer由多个逻辑的请求合并而成,它的大小是不确定的。
Blk_read/s: 每秒从设备中读取的数据的大小,以块为单位。块大小和文件系统有关,一般为4K字节。
Blk_write/s: 每秒写入到设备的数据量,以块为单位。
Blk_read: 从设备读取的Block数目;注意这不是每秒的平均值,而是整个测试过程。
Blk_wrtn: 写入到设备的Block数目;
扩展信息(IO请求)
rrqm/s: r(read)rq(request)m(merge) 每秒合并的读请求数目;
wrqm/s: w(write)rq(request)m(merge) 每秒合并的写请求数目;
r/s: r(read) 每秒发送到设备的读请求数目;
w/s: w(write) 每秒发送到设备的写请求数目;
rsec/s: r(read)sec(sector) 每秒读扇区的数目;
wsec/s: w(write)sec(sector) 每秒写扇区的数目;
avgrq_sz: avg(average)rq(request)-sz(size) 发送到扇区的请求的平均大小;
avgqu_sz: avg(average)qu(queue)-sz(size) 请求队列的平均大小;
await: 发送到设备的IO的平均时间,包括请求在队列中的等待时间和请求处理时间两部分。时间单位是毫秒(millisecond)
util: IO请求发送到设备占用的CPU时间。当这个值接近100%时,说明设备接近饱和。
netstat
打印网络链接、路由表、接口统计等信息。
1、连接的协议类型
-t:TCP连接
-u: UDP连接
2、连接状态
-l: 只打印监听状态的连接;
-a: 显示所有状态的连接,默认不打印监听状态的连接。
shanno@taurus-p245 ~ $ netstat -tnp ## 默认不打印监听端口
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.1.104:44531 203.208.41.153:80 ESTABLISHED 13765/firefox
shanno@taurus-p245 ~ $ netstat -tnpl ## 只打印监听端口
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
shanno@taurus-p245 ~ $ netstat -tnpa ## 全打印,包括监听端口
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
tcp 0 0 192.168.1.104:44531 203.208.41.153:80 ESTABLISHED 13765/firefox
3、其它
-p: 进程
-c: 每隔1秒钟持续输出连接状态
-n: 以点分四段(例如192.168.0.1)的格式打印IP地址
4、用法
a. 通过端口号查询进程号;
b. 查询进程的端口号。
sar
打印系统的活动信息,用于监视网络流量、磁盘IO等。
1、安装
sudo apt-get install sysstat
2、命令格式
sar [options] [interval [count]]
interval代表采样间隔,count代表采样次数。
3、监视网络流量
shanno@taurus-p245 ~ $ sar -n DEV 3
00时08分52秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
00时08分55秒 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时08分55秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时08分55秒 wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时08分55秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
00时08分58秒 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时08分58秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时08分58秒 wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
Average: eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: wlan0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
例子中-n代表network,它后面可以跟DEV,代表网络设备。
错误信息
root@cvknode20221:~# date
Tue Sep 2 11:38:26 CST 2014
root@cvknode20221:~# sar -n DEV
Invalid system activity file: /var/log/sysstat/sa02
解决方法
root@cvknode20221:~# sar -o 02
root@cvknode20221:~# ls /var/log/sysstat/
sa02
root@cvknode20221:~# sar -n DEV
11:38:46 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:38:48 AM vnet4 0.00 45.50 0.00 8.82 0.00 0.00 0.00
11:38:48 AM vnet1 0.00 45.50 0.00 8.82 0.00 0.00 0.00
11:38:48 AM eth0 52.50 3.00 9.68 0.34 0.00 0.00 8.50
11:38:48 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Linux命令小结:crontab/netstat/iostat/sar的更多相关文章
- 常用Linux命令小结
常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...
- Linux命令之Crontab定时任务,利用Crontab定时执行spark任务
Linux命令之Crontab定时任务,利用Crontab定时执行spark任务 一.Linux命令之Crontab定时任务 1.1 常见Crontab任务 1.1.1 安装crontab 1.1.2 ...
- 工作中常用的Linux命令:crontab命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...
- 每天一个linux命令(56)--crontab命令
上一节学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,Linux 系统则是由 cron(crond)这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
- Linux 命令之 crontab
crontab 简介 crontab 主要用于需要管理周期执行定时任务的场景 crontab 安装 (有些系统默认已经带了 crontab,无需安装的朋友可以直接跳过本节) 安装: yum insta ...
- linux命令之crontab详解
crontab命令: crontab -l : 显示定时任务列表 crontab -e: 编辑定时任务 crontab -r : 删除所有定时任务 基本格式 : * * * * * command ...
- linux命令小结
查看IP ip a 测试ip ping 10.0.0.128 测试端口 telnet 10.0.0.128 22 # telnet + ip + 端口 Linux - CentOS 7. ...
- 高频Linux命令小结(新手向)
示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 华为云社区地址:[你要的前端打怪升级指南] 近期 ...
- Linux命令:ps,netstat,top
ps ps用于查看当前运行的进程.如果想查看动态的进程信息,可以使用top命令.查看详细命令帮助使用man ps. ps最常用的选项组合就是ps aux: # ps aux USER PID %CPU ...
随机推荐
- <读书笔记>软件调试之道 :从大局看调试-理想的调试环境
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ---------------------------------------- ...
- iOS中CocoaPads的安装与配置(总结)
来说一下安装CocoaPots的顺序: Xcode->homebrew->RVM->Ruby->CocoaPats; 这篇文章之讲解如何安装到Ruby的部分,关于安装好Ruby ...
- 敏捷软件开发 VS. 传统软件工程
敏捷软件开发 VS. 传统软件工程 软件工程这一术语1968年被提出,之后美国软件工程专家巴利·玻姆对十多年间研究软件工程的专家学者们提出的一些准则与信条,于1983年对提出软件工程的七条基本定理,将 ...
- Java中的自增问题(i=i++)
也许我这是在较真, 但是我们确实有时候就不小心就错写为这种情况了. 看如下代码: public class Test{ public static void main(String[] args){ ...
- centos服务器全新安装php,apache环境
留个备份,有空研究一下. 1 yum install php56w-devel.x86_64 yum install httpd-devel.x86_64 vim /etc/php.ini vim / ...
- 安装Eclipse及相关Plugin
Eclipse: 此处选用基于Eclipse的开发工具:STS 官方网站:https://spring.io/tools/sts Plugins: Open Explorer文件浏览插件it open ...
- add number
// io.cpp #include <iostream> int readNumber() { std::cout << "Enter a number: &quo ...
- 循序渐进Python3(八) -- 1 -- socket进阶
IO多路复用 I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. Linux中的 select,poll,epoll 都 ...
- oracle 几个不常用的关键字
ntile (n)是分析函数,n是吧窗体的数据分成几组. sys_connect_by_path 用来列转行 connect_by_isleaf 判断层级查询是否为叶子节点. siblings 用来层 ...
- 我的新博客:www.wangyufeng.org
新博客:www.wangyufeng.org 博客园的博客不更新啦.