定时(计划)任务

1.什么叫计划(定时)任务
未来的某个时间执行一次任务,或者同时周期性的执行某个任务,执行结果会通过邮件的形式发送给用户
定点执行某一此任务 :at batch
周期性的运行某任务 crontab

2.用户及系统任务调度
系统任务调度:系统周期性所要执行的工作,比如缓存数据到硬盘、日志清理等。/etc/crontab文件就是系统任务调度的配置文件。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用crontab工具来定制自己的计划任务。所有用户 定义的crontab文件都被保存在/var/spool/cron目录中。
cround 是用来周期性的执行某种任务或等待处理某些事件的一个守护进程;
cround 进程定期(每分钟)检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务
用户在cron表(crontab文件)指定了定时任务,crontab就是我们常见的定时任务设置指令。

3.定时任务语法及配置文件
(1)邮件发送:mail(按crtl + d 结束)
mail -s “邮件主题” -c “抄送地址” -b “密送地址” – -f “发送人地址” -F “发件人姓名” < 要发送的邮件内容
mail -s root@localhost
echo “mail content” | mail -s test root@localhost
mail -s test root@localhost < file
(2)at 命令(在特定的时间执行一次性的任务)
时间定义:
hh:mm (小时:分钟) midnight noon teatime am pm month day mm/dd/yy dd.mm.yy
now+count(count时间数量) time-units(时间单位)(时间单位可以是minutes hours days weeks )
也可以直接使用today tomorrow来指定完成命令的时间
参数:-V :印出版本号
-q:列出任务
-f:从文件中读取写好的命令档
-d:删除指定任务(也可以用atq 或at -l)
-v:列出所有已经完成但未删除的指定
at和atq的应用:
/etc/init.d /atd start :启动服务
at now +1 minutes :1分钟后执行
at >echo “hello” :输入任务
CTRL+d :结束
atq :查看待处理作业
atrm 5 :删除待处理作业5
at -c 6 :根据作业id查看作业内容
atq:列出用户的计划任务,如果是超级用户将列出所有用户的任务,结果输出为:作业号、日期、小时、队列、用户名
atrm:根据job number(任务号)删除at任务
batch:在系统负荷允许的情况下执行at任务,就是在系统空间的情况 下才执行at任务
(3)crond命令
crond用来周期性的执行某种任务或等待处理某些事件的一个守护进程,crondtab提供使用者控制计划任务的命令
/etc/crondtab文件内容
环境变量:
SHELL=/bin/bash(指定shell)
PATH=/sbin:/bin:/usr/sbin:.usr/bin (指定系统执行命令的路径)
MATL TO=root (指定crond的任务执行信息将通过电子邮件发送给root用户,如果NAIL TO变量的值为空,则表示不发送任务执行信息给用户)
HOME=/ (指定了在执行命令或者脚本时使用的主目录)在这里插入图片描述
/etc/corn.deny(说明该文件中所列用户不允许使用crontab命令)
/etc/cron.allow(说明文件中所列用户允许使用crontab命令)
/var/spool/cron/(说明所有用户crondtab文件存放的目录,以用户名命名)
* * * * *(分 时 日 月 周)
时间表示法:特定值:40 8 * * * (8:40)
* : * *8 * * *
连续值:8-10 9-17
离散值:8,10,12
定义时间长,时间步长 /4
3 * * * * :每小时执行一次;每小时的第三分钟
3 4 * * 5 :每周执行一次;每周五的四点三分
5 6 7 * * :每月执行一次;每月的7号的6点5分
7 8 9 10 * :每年执行一次;每年的10月9号的8点7分
0 8,20 * * 3,7 :每周三和周日的8点和20点
*/5 * * * * :每隔五分钟执行一次
(4)安装crontab :yum install crontabs
service crond start :启动服务
service crond stop:关闭服务
service crond restart :重启服务
service crond reload:重新载入配置
service crond status:启动服务
crond [-u user] [ -l |-r | -e ] [ -i ]
-e:编辑任务
-l:列出所有任务
-r:移除所有任务
-i:在使用-r选项移除所有用户任务时提示用户确认
-u:root用户可为指定用户管理cron任务
如果用户拒绝接收邮件:
command >/dev/null command &>/dev/null
4.定时任务规范及标准流程
(1)计划任务脚本指定存放位置,便于维护和电感器备份
(2)写定时任务前必须在前面写注释(包括添加计划任务的人、添加任务的时间、任务有效期、计划任务脚本的对象、脚本的作用、以及其它需要的事项)
(3)执行的脚本前加上/bin/bash 或?bin/sh,脚本必须有完整的绝对路径
(4)定时任务,需要尽量避免标准输出和标准错误输出,结尾加上 >/dev/null 2>&1
(5)能用目录完成的也要写在脚本里
(6)在指定用户下执行相关的定时任务
(7)制定标准的书写规范
计划任务的脚本环境变量重新定义,可以手动在脚本内加载环境变量的配置文件/etc/profile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值