一、作业(练习)内容:

1、总结Linux系统上的任务计划(at、crontab)的详细使用方法;

at

命令解释:

一次性任务执行

at: at time

at >

精确时间:

HH:MM

模糊时间:

now+#UNIT

noon

midnight

tomorrow


实例:今晚23:00执行cat /etc/fstab;

wpsC52A.tmp


实例:10分之后执行ip a命令;

wpsC52B.tmp


at -f :从指定的文件中读取作业内容:

实例:今天23点执行 123.txt内容里的作业

[root@localhost ~]# at -f /tmp/123.txt 23:00
job 5 at 2015-09-08 23:00
[root@localhost ~]#


作业查看:

at -l,atq

删除尚未运行的作业:

at-d [作业编号]

提交作业: ctrl+d

作业结果:以邮件形式发给用户。

邮件收发:

netstat -antlpt | grep 25

默认收发邮件仅在本机上的用户间进行,且只能通过回环地址进行。

mail

q:退出

n:查看第n封邮件


mail user

wpsC52C.tmp

20150905 课后练习_第1张图片


mail -s “标题” user

wpsC53D.tmp


echo “内容” | mail -s “标题” user

wpsC53E.tmp

20150905 课后练习_第2张图片

wpsC540.tmp


crontab

(1)命令解释:

周期性计划任务


(2)Crontab任务有两类

系统crontab: /etc/crontab

用户crontab: 定义在/var/spool/cron/目录中与用户名同名的文件

每行只能定义一个独立的任务

# Example of job definition:

# .---------------- 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

时间点:

分钟  小时  天 月 周

时间表示法:

1.每个时间位都应该使用其可用的有效范围取值:*就用于所有有效取值。

17 * * * * 

8 9 * * *

2.*/#,在对应的时间位有效取值上每#个时间单位一次

*/3 * * * * 每3分钟运行一次

0 */3 * * * 每3个小时运行一次

              * */3 * * * 每3个小时每分钟运行一次

(3)连续时间点

20 3 * * 1-6 每周1到6 ,3点20分执行一次

4.离散时间点:

20 3 * * 2,4,6 每周2,4,,6。3点20分执行一次

用户定义:crontab命令

-l:列出已经定义的所有任务

-e:打开编辑界面定义任务

-r:移除所有任务


2、每周一到周六的凌晨3点20分,运行cp命令对/etc/目录进行归档另存,存储位置为/backups/etc-YYYY-MM-DD;

20 3 * * 1-6 /bin/cp -a /etc /backups/etc-$(date +'%Y-%m-%d')

20 3 * * 1-6 /bin/tar -cvf /backups/etc-$(date +'%Y-%m-%d').tar /etc

wpsC541.tmp


3、每周日凌晨2点30分,运行cp命令对/etc/fstab文件进行备份,存储位置为/backup/fstab-YYYY-MM-DD-hh-mm-ss;

30 2 * * 7 /bin/cp -a /etc/fstab /backup/fstab-$(date +'%Y-%m-%d-%H-%M-%S')

wpsC542.tmp


4、每天晚上12点,取得/proc/meminfo文件中所有以S或M开头的行,追加至/statistics/meminfo.txt文件中,且每天的消息之前,要加上类似===============分隔线;

1 24 * * * echo '===================================' `egrep "^[SM]" /proc/meminfo` >> /statistics/meminfo.txt

wpsC553.tmp