一、任务计划
1 )任务计划分为两类:
一类是一次性任务计划,由at控制的
另一类是例行周期性计划,由cron控制的
2 )at 一次性任务计划
选项与参数:
-m :当 at 的工作完成后,即使没有输出信息,亦以 email 通知使用者该工作已完成。
-l :at -l 相当於 atq,列出目前系统上面的所有该使用者的 at 排程;
-d :at -d 相当於 atrm ,可以取消一个在 at 排程中的工作;
-v :可以使用较明显的时间格式列出 at 排程中的工作列表;
-c :可以列出后面接的该项工作的实际命令内容。
TIME:时间格式,这里可以定义出什么时候要进行 at 这项工作的时间,格式有:
HH:MM ex> 04:00
在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此工作。
HH:MM YYYY-MM-DD ex> 04:00 2009-03-17
强制规定在某年某月的某一天的特殊时刻进行该工作!
HH:MM[am|pm] [Month] [Date] ex> 04pm March 17
也是一样,强制在某年某月某日的某时刻进行!
HH:MM[am|pm] + number [minutes|hours|days|weeks]
ex> now + 5 minutes ex> 04pm + 3 days
就是说,在某个时间点『再加几个时间后』才进行。
示例 :定时创建文件
[root@test tmp]# ls 1.txt yum.log [root@test tmp]# at now + 1 minutes <== 一分钟后,以当前时间计算 at> touch 123.txt <== 输入要执行的命令 at> <EOT> <== Ctrl+D 结束输入 job 2 at 2015-04-20 15:20 [root@test tmp]# ls 123.txt 1.txt yum.log [root@test tmp]#
示例 :查询创建的任务
[root@test tmp]# atq 3 2015-04-20 15:38 a root
示例 :删除任务
[root@test tmp]# atrm 6
3 )cron周期性任务计划
选项与参数:
-u :只有 root 才能进行这个任务,亦即帮其他使用者创建/移除 crontab 工作排程;
-e :编辑 crontab 的工作内容
-l :查阅 crontab 的工作内容
-r :移除所有的 crontab 的工作内容,若仅要移除一项,请用 -e 去编辑。
[root@test tmp]# crontab -e <== 进入编辑模式
编辑格式 :
* * * * * username command <== 分 时 日 月 周 用户名 要执行的命令
每个单位取值范围
单位 | 分 | 时 | 日 | 月 | 周 |
取值范围 | 0-59 | 0-23 | 1-31 | 1-12 | 1-7或0-6 |
格式中使用到的符号
符号 | 意义 |
* | 代表每时每刻,示例:* 12 * * * command,即每月的每天的12点去执行命令 |
, | 代表时间分段,示例:* 3,8 * * * command,即每天的3点和6点去执行命令 |
- | 代表时间范围,示例:* 3-8 * * * command,即每天的3点到6点去执行命令 |
/n | 代表每隔多长时间一次,n代表数字,示例:* */5 * * * command,即每天每隔5小时执行一次命令 |
二、服务的关闭与启动
ntsysv 图形化服务界面开启与关闭,未安装此工具,可以去执行yum install -y ntsysv
chkconfig --list <== 列出所有服务各个级别状态
chkconfig --level 2 atd off/on <== 关闭或开启atd的2级别的服务
chkconfig atd on <== 开启atd默认级别服务状态
chkconfig --add 要添加的脚本 <== 添加自定义服务脚本
三、系统日志
/etc/rsyslog.conf <== 日志配置
/var/log/messages <== 系统启动后的信息和错误的日志
/var/log/secure <== 安全相关的日志
/var/log/maillog <== 邮件相关的日志 邮件发送队列的命令 :mailq
查看已发送的邮件 :cat /var/log/maillog
/var/log/cron <== 定时任务相关的日志
/var/log/spooler <== UUCP与news设备相关的日志
/var/log/boot.log <== 守护进程启动和停止的相关的日志信息
/var/log/wtmp <== 用户登录成功的记录,查看命令 :last
/var/log/btmp <== 用户登录失败的记录,查看命令 :lastb
/var/log/dmesg <== 内核日志
四、exec,xargs
exec
示例:查找/etc目录下文件类型为普通文件,并显示每一个文件的详细信息
[root@test ~]# find /etc/ -type f -exec ls -l {} \; -rw-r--r--. 1 root root 192 10月 15 2014 /etc/pam.d/chfn -rw-r--r--. 1 root root 293 11月 23 2013 /etc/pam.d/crond -rw-r--r--. 1 root root 76 2月 20 2014 /etc/pam.d/smtp.postfix -rw-r--r--. 1 root root 728 10月 15 2014 /etc/pam.d/login -rw-r--r--. 1 root root 232 10月 15 2014 /etc/pam.d/config-util
xargs
示例:查找/etc目录下文件类型为普通文件,并显示每一个文件的详细信息
[root@test ~]# find /etc/ -type f | xargs ls -l -rw-r--r--. 1 root root 44 4月 20 18:05 /etc/adjtime -rw-r--r--. 1 root root 1512 1月 12 2010 /etc/aliases -rw-r--r--. 1 root root 12288 4月 13 14:29 /etc/aliases.db -rw-------. 1 root root 541 11月 23 2013 /etc/anacrontab -rw-r--r--. 1 root root 148 5月 15 2009 /etc/asound.conf
五、screen
nohup 后台挂起命令,支持退出终端
nohup sleep 100 &
screen 打开虚拟终端(没有安装需要执行yum install -y screen),执行命令,按Ctrl+a,再按D,即可退出当前虚拟终端,但是不会结束执行的命令
screen -ls 查看终端
[root@test ~]# screen -ls There are screens on: 2268.pts-0.test (Detached) 2254.pts-0.test (Detached) 2 Sockets in /var/run/screen/S-root.
screen -r ID 登陆某一个虚拟终端
[root@test ~]# screen -r 2268 # 想要结束某个终端,需要按Ctrl+D,或者输入exit
screen -S username 以哪个用户登录
[root@test ~]# screen -S mylinux [detached] [root@test ~]# screen -ls There are screens on: 2290.mylinux (Detached) 2254.pts-0.test (Detached) 2 Sockets in /var/run/screen/S-root.
六、curl文字状态访问网站
示例:curl URL
[root@test ~]# curl www.qq.com DOCTYPE html> <html lang="zh-CN"> <head> <meta content="text/html; charset=gb2312" http-equiv="Content-Type"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title><CC><DA><CA><D7></title> <script type="text/javascript"> if(window.location.toString().indexOf('pref=padindex') != -1){ ..................下面省略.................
示例:保存当前页面
[root@test ~]# curl www.qq.com > qq.html % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 581k 0 581k 0 0 5572k 0 --:--:-- --:--:-- --:--:-- 7009k
示例:显示网址状态信息
[root@test ~]# curl -I www.qq.com HTTP/1.1 200 OK Server: squid/3.4.1 Date: Tue, 21 Apr 2015 04:16:49 GMT Content-Type: text/html; charset=GB2312 Connection: keep-alive Vary: Accept-Encoding Expires: Tue, 21 Apr 2015 04:17:49 GMT Cache-Control: max-age=60 Vary: Accept-Encoding X-Cache: HIT from shenzhen.qq.com
示例:下载文件
格式:curl -o filename URL
[root@test ~]# curl -o linux.jpg 'http://img5.imgtn.bdimg.com/it/u=2175954913,4024908314&fm=21&gp=0.jpg' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 167 167 167 167 0 0 5062 0 --:--:-- --:--:-- --:--:-- 20875
或者直接下载,不另起文件名字,选项就要用-O(大写)
格式:curl -O URL
[root@test ~]# curl -O 'http://img5.imgtn.bdimg.com/it/u=2175954913,4024908314&fm=21&gp=0.jpg' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 167 167 167 167 0 0 4960 0 --:--:-- --:--:-- --:--:-- 18555
示例:无法访问网站,通过代理访问
格式:curl -xIP:port URL
[root@test ~]# curl -x14.17.32.211:80 www.qq.com
七、常用的网络命令
1 ) ping 检测主机是否存活
选项:
-c 指定次数
-s 封包大小
示例:
[root@test ~]# ping -c 3 -s 1000 www.baidu.com PING www.a.shifen.com (180.97.33.108) 1000(1028) bytes of data. 1008 bytes from 180.97.33.108: icmp_seq=1 ttl=53 time=25.7 ms 1008 bytes from 180.97.33.108: icmp_seq=2 ttl=53 time=27.5 ms 1008 bytes from 180.97.33.108: icmp_seq=3 ttl=53 time=25.7 ms --- www.a.shifen.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2031ms rtt min/avg/max/mdev = 25.717/26.345/27.568/0.884 ms [root@test ~]#
2 ) telnet 检测有固定监听端口的网路服务,例如:http服务:80端口,smtp:25端口,oracle数据库:1521端口
示例:QQ网站80端口是否开放
[root@mylinux ~]# telnet www.qq.com 80 Trying 14.17.32.211... Connected to www.qq.com. Escape character is '^]'. Escape character is '^]'. ^] telnet> quit Connection closed. # 键盘上按Ctrl+],在输入quit,即可退出
当检测的端口为异常,如下
[root@mylinux ~]# telnet www.qq.com 1210 Trying 14.17.32.211... telnet: connect to address 14.17.32.211: Connection timed out Trying 59.37.96.63... telnet: connect to address 59.37.96.63: Connection timed out Trying 14.17.42.40... telnet: connect to address 14.17.42.40: Connection timed out Trying 240e:ff:f040:28::a... telnet: connect to address 240e:ff:f040:28::a: Network is unreachable
3 ) traceroute 跟踪路由
示例:
[root@mylinux ~]# traceroute www.baidu.com traceroute to www.baidu.com (180.97.33.107), 30 hops max, 60 byte packets 1 192.168.1.1 (192.168.1.1) 1.033 ms 0.973 ms 0.926 ms 2 * * * <== 代表没有响应 3 * * * 4 * * * ..........中间省略......... 28 * * * 29 * * * 30 * * *
4 ) dig 解析网站IP ,没有安装命令的需要执行yum install -y bind-utils
示例 :解析QQ网站
[root@mylinux ~]# dig www.qq.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> www.qq.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58158 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.qq.com. IN A ;; ANSWER SECTION: www.qq.com. 300 IN A 59.37.96.63 <== 网站真正解析地址 www.qq.com. 300 IN A 14.17.42.40 www.qq.com. 300 IN A 14.17.32.211 ;; Query time: 16 msec ;; SERVER: 202.96.128.166#53(202.96.128.166) ;; WHEN: Tue Apr 21 10:16:52 2015 ;; MSG SIZE rcvd: 76
示例 :通过DNS服务器去解析
[root@mylinux ~]# dig @202.96.134.133 www.qq.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2 <<>> @202.96.134.133 www.qq.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5066 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.qq.com. IN A ;; ANSWER SECTION: www.qq.com. 300 IN A 14.17.32.211 www.qq.com. 300 IN A 59.37.96.63 www.qq.com. 300 IN A 14.17.42.40 ;; Query time: 13 msec ;; SERVER: 202.96.134.133#53(202.96.134.133) ;; WHEN: Tue Apr 21 10:23:06 2015 ;; MSG SIZE rcvd: 76
5 ) nc 网络端口扫描 与telnet类似
格式 :nc -z w2 网址 port :探测端口
[root@mylinux ~]# nc -z -w2 www.qq.com 70-90 Connection to www.qq.com 80 port [tcp/http] succeeded!