延时任务和定时任务

1延迟任务
at命令发起的任务都是一次性的
at +time
>命令
>ctrl+d                                                         表示发起动作

at         -l | atq                                                         查看延迟任务

-d | atrm                                                      取消指定任务
            -c                                                                 查看任务内容

@@由于使用-c查看的内容较多,因此只截取了部分图片

-now+1min                                                  延迟一分钟
            -f file                                                            延迟执行文件中的内容

at命令执行权力的设定

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

@@先创建一个普通用户,切换到普通,此时还未编辑/etc/at.deny下的内容,发现普通用户可以使用at命令执行任务。

@@此时编辑/etc/at.deny,这是一个黑名单,加入刚刚创建的普通用户,重复上面的操作

/etc/at.allow                                                                                        ##延迟任务用户白名单,名单默认不存在,一旦出现,黑名单即失效
                                                                                                          ##系统所有用户默认不能执行at命令,只有白名单中出现的才能够执行

@@白名单是默认不存在的,一旦编辑,只有出现在白名单中的用户才能执行at命令,但是root用户是不在此权限中的

编辑/etc/at.allow,在其中加入westos用户时

2.定时任务

定时任务是永久的

定时任务程序crond,在系统中每分钟做一次任务扫描

crontab -u username                 -e                                      建立定时任务

-r                                       删除定时任务

-l                                       查看定时任务

定时任务的格式

*        *        *        *        *            命令

^        ^        ^        ^        ^

分      时      天      月      周

eg:

*        *        *        *        */5                    ##每周五

*        *        *        * /1-15       *              ##每月的1-15号

*        * /3       *        *        *                    ##每隔三个小时

vim /etc/cron.d/filename
分钟     小时     天     月     周      用户     动作
   *           *        *       *      *        root      rm -fr /mnt/*              ##超级用户梅分钟清理一次 /mnt

@@一个窗口执行命令,另一个窗口做监控

@@一分钟后,/mnt/被清理

crondtable命令的执行权力的设定

/etc/crond.deny                                                                                  ##定时任务用户黑名单,在此名单中出现的用户不能执行crond命令

@@在/etc/crond.deny中加入westos用户

/etc/crond.allow                                                                                ##定时用户白名单,名单默认不存在,一旦出现,黑名单即失效
                                                                                                         ##系统用户默认不能执行crond命令,只有白名单中出现的才能执行

@@白名单的用户权限高于黑名单,当在白名单中加入westos用户时,发现黑名单失效,westos用户可以执行crond命令

系统临时文件
系统中服务在正常运行时会产生临时文件
/usr/lib/tmpfiles.d/*conf                                                                        ##系统中临时文件的配置(必须以.conf 结尾)

文件类型     文件名称      文件权限   文件所有人  文件所有组  文件存在时间
    d              /mnt/test         777              root               root               1min

在/mnt下令时建立一个test目录

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*                                           ##执行临时文件配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*                                            ##清理临时文件

@@在test下建立文件,在第一分钟内,执行清理命令发现没有被删除,第二分钟时,文件被自动清理

时间: 2024-07-30 18:02:52

延时任务和定时任务的相关文章

Linux 系统延时任务和定时任务

一.延时任务   在Linux中延时任务是临时的,可以指定某一个任务在将来的特定时间运行 1.at命令 基本操作格式: [[email protected] ~]# at now+1min at> date<EOT>   #EOT代表Ctrl+D来保存这个延时动作 job 2 at 2017-07-29 12:12 at -l|atq  这两个命令都是用来查看当前的延时任务 atrm | at -d +任务号   这个命令都是用来取消定时任务 at -c +任务号  查看延时任务的内容

linux中系统延时任务及定时任务

1.系统延时任务如遇到这种情况Can't open /var/run/atd.pid to signal atd. No atd running?则执行重启服务 1 at at 固定的时间at now+1min(一分钟之后执行)touch file1 建立文件1ctrl d 开启任务at -l 查看延时任务列表at -c 任务号 (查看任务内容)at -r 任务号 (删除任务)12任务已被删除 当延时任务有输出时候,并不是输出在终端上,而是以邮件的形式发送给任务的发起者 邮件的存放位置/var/

系统延时任务及定时任务

at ---> 系统延时任务at -l ---> 查看任务列表at -c 任务号 ---> 查看任务内容at -r 任务号 ---> 取消任务执行 touch /mnt/file{1..6}at 19:41 ---> 设定任务执行时间at> rm -f /mnt/file{1..4} ---> 任务动作 at> <EOT> ---> 用ctrl+d发起任务查看任务列表查看任务内容取消任务执行查看无任务 at now+1min --->

延时任务与定时任务

1.系统延迟任务发起命令 at 11:03 at> touch /mnt/file{1..10}##要执行的命令 at> <EOT><按ctrl+D>##任务发起 job 2 at Sat Nov  7 11:03:00 2015 at -l##查看任务列表 2Sat Nov  7 11:03:00 2015 a root atrm 2##删除编号为2的任务. at now+1min##任务延迟一分钟执行 3.at命令的使用控制 /etc/at.deny##默认存在系统

分布式 延时任务解决方案

在开发中,往往会遇到一些关于延时任务的需求.例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务.那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别 定时任务有明确的触发时间,延时任务没有 定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期 定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务 下面,我们以判断订单是否超时为例,进行方案分析 red

redis 延时任务 看一篇成高手系列2

引言 在开发中,往往会遇到一些关于延时任务的需求.例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务.那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别 定时任务有明确的触发时间,延时任务没有 定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期 定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务 下面,我们以判断订单是否超时为例,进行方案分析

分布式之延时任务方案解析

引言 在开发中,往往会遇到一些关于延时任务的需求.例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务.那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别 定时任务有明确的触发时间,延时任务没有 定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期 定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务 下面,我们以判断订单是否超时为例,进行方案分析

并发编程之定时任务

ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor继承了ThreadPoolExecutor 实现了ScheduledExecutorService.主要用来处理延时任务和定时任务. public ScheduledThreadPoolExecutor(int corePoolSize) { super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS, new DelayedWorkQue

第十四章 Executors源码解析

前边两章介绍了基础线程池ThreadPoolExecutor的使用方式.工作机理.参数详细介绍以及核心源码解析. 具体的介绍请参照: 第十二章 ThreadPoolExecutor使用与工作机理 第十三章 ThreadPoolExecutor源码解析 1.Executors与ThreadPoolExecutor ThreadPoolExecutor 可以灵活的自定义的创建线程池,可定制性很高 想创建好一个合适的线程池比较难 使用稍微麻烦一些 实际中很少使用 Executors 可以创建4种线程池