码迷,mamicode.com
首页 > 系统相关 > 详细

跟马哥学linux (lesson 5)linux任务管理

时间:2015-09-07 07:09:29      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:linux   super   entire   anyway   

1.linxu任务计划:

任务计划:

在未来时间点执行一次任务:at,batch

周期性执行任务:crontab

电子邮件服务:

smtp:simple mail transmission protocol

/var/spool/mail/USERNAME 个人邮件缓冲目录

pop3:post office protocol

imap4:internet mail access protocol

MUA:mail命令

mail:

mail:进入交互式收发邮件接口

mail -s "SUBJECT" user@hostname

mail -s "SUBJECT" user@hotname < echo "aaa"

command | mail -s "SUBJECT" username@hostname


at命令:

承载未来执行的命令

执行使用作业队列

默认为a队列

Crtl+d

at [option].. time

time命令:

1.绝对时间 HH:MM MMDD[CC]YY

2.相对时间 now+时间

minut hour day week

3.模糊时间 

midnight noon teatime

常用选项:

-q QUEUE at作业队列

-f /PATH/filename 从指定的文件中读取制定的文件作业

-l 查看作业队列中的带运行作业列表,等同于atq命令

-c AT_JOB_NUM 获取待作业任务的详细内容

-d 删除指定的命令作业,等同于atrm

batch:

由系统自行选择在资源空闲时运行指定的任务

crontab:周期性执行任务计划

守护进程:crond

周期性任务有两类:

(1)系统cron任务:没有默认运行用户身份;所以需要额外指定运行着

/etc/crontab

vim命令

7个字段

前5个字段:时间字段

username:以哪个用户身份运行

command:运行那个命令

(2)用户cron任务:由某个用户提交,默认就以提交者的身份运行

/var/spool/cron/USERNAME

vim命令:

7个字段

前5个字段:时间字段

username:以哪个用户身份运行

command:运行那个命令

5个时间点:

第一个字段分钟:值域0-59

第二个字段小时:值域0-23

第三个字段日:值域1-31

第四个字段月:值域1-12

第五个字段周:值域0-7

注意:几月几日与周几,不建议同时使用

时间表示法:

数字:表示特定时间点

*:对应时间点有效取值范围内的每个时间点

-:一个连续的时间范围,例如3-7

,:一个离散的时间范围,例如3,5,7

/:有效时间范围内每个多少时间,指定执行频率

crontab命令

crontab [-u user] -l -r -e

-u user:不是运行自己的cron任务,仅管理员有权限

-l:列出cron任务

-r:删除cron任务

-e:编辑cron任务


补充性工具:anacron检查上一次没有正常运行的cron自动执行

注意:如果不想接收命令运行结果的邮件

COMMAND > /dev/null

COMMADN &> /dev/null

对于crontab文件%有特殊意义需要用转移符转义

crontab的PATH变量于用户环境变量不完全相同,需要绝对路径

练习:

1、每周一到周六凌晨3点20分,运行tar命令对/etc目录进行备份,备份目录为/backup/etc-YYYY-MM-DD.tar.xz

2、每周日凌晨2点30分,运行cp命令对/etc/fstab命令进行备份,备份路径为/backup/fstab-YYYY-MM-DD-hh-mm-ss

3、每天晚上12点,取得/proc/meminfo文件中所有以s或m开头的行,追加到/static/meminfo.txt中间以===============为分隔符。


1.
[root@localhost ~]# crontab -e
20 3 * * 1-6 tar -czvf /backup/etc-$(date ‘+%F‘).tar.gz /etc/
2.
[root@localhost ~]# crontab -e
30 2 * * */* cp /etc/fstab /backup/fstab-$(date ‘+%F-%H-%M-%S‘)
3.
[root@localhost ~]# crontab -e
0 24 * * * echo "================================================">>/statistics/meminfo.txt && cat /proc/meminfo | grep -E ‘^S|^M‘ >> /statistics/meminfo.txt


跟马哥学linux (lesson 5)linux任务管理

标签:linux   super   entire   anyway   

原文地址:http://7280780.blog.51cto.com/7270780/1692040

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!