Linux学习笔记5-2定时任务语法及配置文件

1,mail

我们所有定时任务在执行结束后都会通过邮件通知
mail :使用mail发邮件时,必须将sendmail服务启动
mail -s “邮件主题” -c “抄送地址” -b “密送地址” – -f 发送人邮件地址 -F 发件人姓名 要发送的邮件内容
三种常用格式发信:
mail -s test nebula@nebula.edu.cn :你可以把当前shell当成编辑器来用,编辑完内容后Ctrl -D 结束
echo "mail content " | mail -s test nebula@nebula.edu.cn : 使用管道
mail -s test nebula@nebula.edu.cn < file : 已file内容为邮件内容发送

2,at

执行at前先启动服务 :/etc/init.d/atd start
at :在特定的时间执行一次某项工作,需要安装at服务,apt-get install at
通常使用相对计时法来指定时间 :now + count time-units ,
now就是当前时间,time-units 是时间单位,这里可以是minutes (分钟),hours (小时) , days(天) , weeks (星期) ,count 是时间的数量 。
例如 : now + 5 minutes 04pm + 3 days
-f file : 读入预先写好的命令
-l :列出所有的指定
-d :删除指定
-v :列出所有已经完成但尚未删除的指定
-c :根据作业id查看作业内容
atq :列出用户的计划任务,结果输出格式为:作业号,日期,小时,队列,用户名
atrm :根据Job number 删除at任务
batch :在系统负荷允许的情况下执行at任务

3,Crond

用于周期性的执行某种任务或等待处理某些事件的一个守护进程,它会每分钟定期检查是否有要执行的任务,如果有,则自动执行
系统任务调度文件/etc/croutab
/etc/crontab文件包括下面几行:
cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=HOME=/
run-parts
51 * * * * root run-parts /etc/cron.hourly

24 7 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly
前 四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行 命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。
使用者权限文件:
/etc/cron.deny
该文件中所列用户不允许使用crontab命令
文件:
/etc/cron.allow
说明:
该文件中所列用户允许使用crontab命令
/var/spool/cron/
所有用户crontab文件存放的目录,以用户名命名
crontab文件的含义:
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command

其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

安装crontab:
yum install crontabs
服务操作说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //启动服务
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig –level 35 crond on

4,crontab

crontab
-e :编辑任务
-l :列出所有任务
-r :移除所有任务;即删除/var/spool/cron/USERNAME文件
-i : 与-r一起使用,提示用户是否确认
-u user : root用户可为指定用户管理cron任务
运行结果以邮件通知当前用户,如果拒绝接收邮件:
(1)COMMAND > /dev/null
(2)COMMAND $> /dev/null

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值