(14) 系统延迟任务

原创 2018年04月16日 16:25:54
1.系统延时任务

at命令发起的延时任务都时一次性的

当延迟任务输出时,输出会邮件的形式发送给任务人
邮件用mail去看
   at 时间  :at now+1min
   任务
   ctrl+d  执行任务
   at -l   查看任务
   at -c 1 查看任务1的详细信息
   atem 2  解除任务2


date  03:16

at + time

[root@localhost ~]# at 03:18
at> rm -fr /mnt/*        延迟动作 :意思在03:18分的时候删除/mnt/里的所有东西
at> <EOT>            ctrl+d表示发起动作

at -l                    表示显示当前任务

job 1 at Mon Apr 16 03:18:00 2018


at now+1min            延迟一分钟


at -f file            延迟执行文件中的内容
at -m                延迟命令没有输出时仍然发送邮件给执行者

at -M                延迟命令有输出时但不发送邮件给执行者

at -l                  查看当前任务
at -d                取消指定任务
at -c                 查看任务内容


at 命令的执行权力设定

/etc/at.deny        用户黑名单,在此名单中出现的用户不能执行at命令


/etc/at.allow       用户白名单,名单默认不存在,但白名单一旦出现,黑名单失效


 ********系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令

2.定时任务
定时任务时永久的
定时任务程序crond,在系统中每分钟做任务扫描

发起方式一#

crontab -u student -e  (意思为指定student用户执行-e编辑文件里的内容)

(此图为-e编辑文件内容,内容意思为指定student用户在每天的22点11分执行一次十三出/mnt/*任务)



crontab -u student -r   (意思为删除指定用户student任务)



crontab -u student -l   (意思为查看指定用户student任务) 


查看crontab的用法
  man 5 crontab
  分 时 天 月 周      *表示全部
   *   *    *    *   *        每隔1分钟执行1次
  */2 * * * *                每隔2分钟执行1次
  * * /2 * * *                每隔2小时执行1次
  * * 1,4 * *            每月1、4号每隔1分钟执行1次
  * * * 1-4 *               1到4月每隔1分钟执行1次

  * * * * 4                  每周4每隔1分钟执行1次       


发起方式二

vim /etc/cron.d/filestudent


分钟 小时 天 月 周      用户            动作

        * * * * *             student     rm -fr /mnt/*       


意思为:用户student每分钟清里一次/mnt/*



at任务黑白名单
黑名单

用超级用户编辑vim /etc/at.deny


加入需要拉黑的student用户即可



白名单

白名单默认不存在,需要新建白名单touch /etc/at.allow


用超级用户编辑vim /etc/at.allow


用户加入白名单之后只有加入的用户可以使用at其他都不可以
注意:超级用户不受限制!!

定时重复使用延迟任务


注意:当同一个用户同时存在黑白名单当中,白名单生效,黑名单失效。



3,系统级别的crontab设定        

注:该方式只有超级用户可以执行

cd /etc/cron.daily


路径:/etc/cron.

cron.d/               自定义执行

cron.daily/          每天执行一次

cron.hourly/       每小时执行一次

cron.monthly/    每月执行一次

cron.weekly/      每周执行一次


编辑格式:* * * * * student rm -rf /mnt/* (注:当前位置在cron.d/下,编辑文件内容需加* * * * *指定具体时间)


如当前位置处于cron.daily/(每天执行一次)下,编辑文件不需要指定时间,会按每天一次执行)


指定student每分钟删除一次/mnt/*  

注意此任务无法用crontab -l查看   

只能切换到执行用户用mail查看

非交互式执行
echo "* * * * * student date" >> /etc/cron.d


4.系统临时文件的管理

#系统中服务在正常运行时会产生临时文件
/usr/lib/tmpfiles.d/*.conf        ##系统中临时文件的配置
文件类型    文件名称    文件权限    文件所有人    文件所有组    文件存在时间
d        /mnt/westos    777        root        root        10s


systemd-tmpfiles --create /usr/lib/tmpfiles.d/*    ##执行临时文件配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*    ##清里临时文件
查看crontab的用法


延迟任务的实现总结

实现延迟任务的方式有很多,各有利弊,有单机和分布式的。在这里做一个总结,在遇到这类问题的时候希望给大家一个参考和思路。 延迟任务有别于定式任务,定式任务往往是固定周期的,有明确的触发时间。而延迟任务...
  • xybelieve1990
  • xybelieve1990
  • 2017-09-20 14:26:34
  • 703

Quartz延时任务实现

业务场景:设定好的优惠卷在开始的时候推送给合适的用户 延时任务控件:Quartz 框架:SpringMVC + Spring + MyBatis 1.Quartz引入     所需ja...
  • baidu_29609961
  • baidu_29609961
  • 2017-09-05 16:27:18
  • 408

linux 系统定时/延迟任务

一、系统延迟任务1.at   延迟任务是临时,不重复的   延迟任务执行后,结果不会在shell显示,会以邮件的形式发送给执行人2.查看邮件  mail  邮件所在文件     /var/spool/...
  • For_myself0
  • For_myself0
  • 2018-04-14 12:33:37
  • 44

linux系统的延迟任务与定时任务

定时任务与延迟任务一.延迟任务:1.延迟任务:是临时的,不重复的。当延迟任务有输出,输出会以邮件的形式发送给任务发起人。邮件用mail查看at 时间   任务ctrl  + dat -l       ...
  • cd15109139570
  • cd15109139570
  • 2018-04-19 10:48:06
  • 16

定时任务和延迟任务

#1.系统延时任务# at命令发起的延时任务都时一次性的 为了方便观察我们对/mnt每秒监视一次watch -n 1 ls -lR /mnt/at + time ##指定时间 ...
  • sjw_960120
  • sjw_960120
  • 2018-01-22 17:05:03
  • 52

Timer延时任务的坑与handler实现延时任务对比

Timer定时任务的坑与handler实现延时任务对比1.Timer实现定时任务下面是一个循环定时任务,在一般情况下并不会出什么差错。Timer myTimer = new Timer(); myTi...
  • fenjiehuang
  • fenjiehuang
  • 2017-03-25 16:41:36
  • 411

JavaScript 实现延迟合并处理任务

我们经常会遇到一种情况,在带有智能提示的文本框,在输入内容时,会实时或准实时弹出提示下拉框,里面包含系统猜测你可能要输入的内容。当这些搜索建议来自服务器的时候,有时你会觉得这种智能提示对服务器的负载有...
  • royaljinchen
  • royaljinchen
  • 2016-03-24 22:53:13
  • 627

Linux_系统延时及定时任务

Linux下的工作调度种类:at, crontab. 1.at at命令执行的任务都是延时任务,延时任务都是临时的 at:atd 进程 使用at命令生成的要执行的命令写入到了/var/spoo...
  • M________123
  • M________123
  • 2017-08-02 13:53:32
  • 327

##定时任务和延迟任务

at crontab 1.定时任务 crontab -u 用户 -e #这个命令编辑的文件是/var/spool/cron/用户 * * * * * ##每分钟 ...
  • qq_41661056
  • qq_41661056
  • 2018-01-22 17:33:20
  • 117

Linux学习笔记—系统定时和延迟任务

1.延迟任务 &amp;lt;1&amp;gt;延迟任务是临时的,不重复的。 &amp;lt;2&amp;gt;当延迟任务有输出时,输出会以邮件的形式发送给任务发起人。 a.邮件用mail去查看...
  • Hannah_zh
  • Hannah_zh
  • 2018-01-22 12:17:19
  • 85
收藏助手
不良信息举报
您举报文章:(14) 系统延迟任务
举报原因:
原因补充:

(最多只允许输入30个字)