延时任务

延时任务是我们规定在几点或者在多久之后让系统执行的某一任务

 设置延时任务的步骤:

at time(时间)

dosomething(具体的任务)

ctrl+d(执行该延时任务)

系统延时命令
at
at -l          查看执行的延时任务
at -c 5      查看任务5的详细信息
at -l 5       查看任务5的基础信息

[root@localhost ~]$ at now+1min       ##在1分钟后
at> echo hello                                       ##执行echo hello 的命令
at> <EOT>                                            ##执行ctrl + d
job at Sun Nov  4 01:33:00 2018      生成此任务的任务号

[root@localhost ~]$ at -l 4           查看任务4的基本信息
4   Sun Nov  4 01:33:00 2018 a root[root@localhost ~]$ at -c 5           查看任务5的详细信息${SHELL:-/bin/sh} << 'marcinDELIMITER21832c28'
echo hello

at命令,黑白名单

/etc/at.deny 黑名单(在白名单不存在时黑名单生效)
/etc/at.allow 白名单(与黑名单同时存在时,白名单无效)
编辑这两个文件,就可以实现at命令对特定用户开放
vim /etc/at.deny
在黑名单中添加gq用户
[root@localhost ~]# su - gq                                          
Last login: Sun Nov  4 01:31:58 CST 2018 on pts/0
[gq@localhost ~]$ at                                           
You do not have permission to use at.

可以看到gq用户不能执行at命令

[root@localhost ~]# su - westos
Last login: Sun Nov  4 01:29:23 CST 2018 on pts/0

[westos@westos ~]$ at now+1min
at> echo hello
at> <EOT>
job 5 at Tue Nov  6 14:49:00 2018
[westos@westos ~]$ at -l 5
5    Tue Nov  6 14:49:00 2018 a westos

而westos用户因不在黑名单中依旧可以执行at命令

系统中默认是没有at命令的白名单的,我们先创建这样一个文件

默认全黑,若要允许哪个用户可以使用at命令,则在白名单中写入用户名即可。

可以看到gq用户同时在黑白名单里,但是白名单生效

    编辑白名单写入gq用户

系统定时任务(由crond.service服务提供)

发起定时任务

定时任务可以设定在哪一天哪一小时等循环地做某一件事情,我们可以用man 5 crontab来查看其具体用法

[root@localhost ~]# systemctl status crond.service  查看服务的状态信息
● crond.service - Command SchedulerLoaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)Active: active (running) since Sun 2018-11-04 00:32:13 CST; 1h 15min agoMain PID: 1224 (crond)CGroup: /system.slice/crond.service└─1224 /usr/sbin/crond -nNov 04 00:32:13 localhost.localdomain systemd[1]: Star...
Nov 04 00:32:13 localhost.localdomain systemd[1]: Star...
Nov 04 00:32:13 localhost.localdomain crond[1224]: (CR...
Nov 04 00:32:14 localhost.localdomain crond[1224]: (CR...
Hint: Some lines were ellipsized, use -l to show in full.

man 5 crontab 查到的信息

1>方式1

[root@localhost ~]# crontab -u root -e       以root用户身份发起定时任务
no crontab for root - using an empty one
crontab: installing new crontab编辑内容  (注意: * * * * * ==>  分,时,天,月,周)* * * * *  rm -fr /gaoqi/*    ( 表示每分钟删除/gaoqi/*)

[root@localhost ~]# crontab -u root -l          查看root用户的定时任务
* * * * *  rm -fr /gaoqi/*

[root@localhost ~]# crontab -u root -r         取消root用户的所有定时任务
[root@localhost ~]# crontab -u root -l
no crontab for root

root@localhost ~]# crontab -u gq  -e          以gq这个用户发起定时任务03 22  * * *   rm -fr /mnt/* (编辑内容)         每天的22:03删除/mnt/*    [root@localhost etc]# cat /var/spool/cron/gq          定时任务生成的文件存放在/var/spool/cron/root 目录
03 22  * * *  rm -fr /mnt/*

2>方式2

编辑的文件其实就是/var/spool/cron/目录下的文件,文件名是指定的用户,没有指定用户就是root用户:

 crontab 命令,黑白名单

/etc/cron.deny 黑名单(在白名单不存在时黑名单生效)
/etc/cron.allow 白名单(与黑名单同时存在时,白名单无效)
编辑这两个文件,就可以实现cron命令对特定用户开放

黑名单的设定

[root@localhost etc]#vim /etc/cron.deny

在黑名单中写入gq用户

[root@westos ~]# su - gq
Last login: Tue Nov  6 15:45:02 EET 2018 on pts/1
[gq@westos ~]$ crontab -e
You (gq) are not allowed to use this program (crontab)
See crontab(1) for more information                

可看到在黑名单中的gq用户无法执行定时命令

[gq@westos ~]$ logout
[root@westos ~]# crontab -u gq -e
crontab: installing new crontab

     退出登陆,可以看到用超级用户身份指定gq用户执行定时命令是可以的

白名单的设定

与延时命令黑名单设置类似

  我的白名单未写入用户,默认全黑。

系统对临时文件的管理

[root@localhost mnt]# cd /etc/cron.d
[root@localhost cron.d]# ls
0hourly  raid-check  sysstat
[root@localhost cron.d]# vim westos
* * * * *   root rm -fr /mnt/*
[root@localhost cron.d]#

[root@localhost cron.d]# cd /etc/cron.daily/
[root@localhost cron.daily]# ls
0yum-daily.cron  logrotate  man-db.cron  mlocate  rhsmd
[root@localhost cron.daily]# ana
anaconda
anaconda-cleanup
anaconda-disable-nm-ibft-plugin
anacron   错过的命令,会在开启服务时立即执行
analog
[root@localhost cron.daily]# anacron

[root@localhost cron.d]# cd /usr/lib/tmpfiles.d/
[root@localhost tmpfiles.d]# ls
abrt.conf                 rpcbind.conf
cups.conf                 rpm.conf
cups-lp.conf              samba.conf
etc.conf                  sap.conf
gvfsd-fuse-tmpfiles.conf  selinux-policy.conf
initscripts.conf          setroubleshoot.conf
iscsi.conf                spice-vdagentd.conf
legacy.conf               subscription-manager.conf
libselinux.conf           systemd.conf
libstoragemgmt.conf       systemd-nologin.conf
lvm2.conf                 tmp.conf
mdadm.conf                tuned.conf
pam.conf                  var.conf
ppp.conf                  x11.conf
radvd.conf
在这个目录下,以.conf结尾的文件都是临时文件处理的配置文件,可以打开,作为参考模版

[root@localhost tmpfiles.d]  vim westos.conf
d /mnt/westos 777 root root 20s
[root@localhost tmpfiles.d]# systemd-tmpfiles --creat /usr/lib/tmpfiles.d/*
[root@localhost tmpfiles.d]# cd /mnt
[root@localhost mnt]# touch /mnt/westos/file1

系统定时任务与延时任务相关推荐

  1. Linux下的定时任务和延时任务

    系统定时任务及延时任务 延时任务是临时的 服务器的维护是在服务器用户最少的时候进行运维,因此需要设置定时任务,通过编写脚本自动在设定的时间内进行运维 [1]设定延时任务 开启监控: watch -n ...

  2. linux 指定时间加3天,Linux系统的定时任务和延时任务

    1.系统延时任务 at now+1min##延时1分钟 at> touch file{1..10} at> job 2 at Sun Jan 20 02:07:00 2019 监控/mnt ...

  3. Linux 系统中的定时任务及延时任务

    ######系统延时任务及定时任务###### ##1.系统延时任务## [root@localhost1 ~]# at 23:37        ##设定任务执行时间 at> rm -fr / ...

  4. Linux系统中的延时任务及定时任务

    系统延时任务 at命令可以指定某一任务在将来的特定时间运行.对您系统的检查或者特定时间发送的通知.那些需要花费很长时间才可完成的任务适合 at 命令.仅需使用 at 命令将任务设置为在一分钟或几分钟之 ...

  5. Linux系统中的定时任务及延时任务详解

    Linux系统中的定时任务及延时任务 1.系统延时任务 at 23:37/now+1min ##设定任务执行时间/延时1分钟 at> rm -fr /mnt/* ##任务动作 at> &l ...

  6. 贼好用,冰河再次升级了这款开源的精准定时任务和延时队列框架!!

    写在前面 在实际工作中,很多小伙伴在开发定时任务时,会采取定时扫描数据表的方式实现.然而,这种方式存在着重大的缺陷:如果数据量大的话,频繁的扫描数据表会对数据库造成巨大的压力:难以支撑大规模的分布式定 ...

  7. Linux 系统管理 (进程管理、工作管理、系统资源查看、系统定时任务)

    一.进程管理 进程管理的作用: 1).判断服务器健康状态(最重要) 2).查看系统中所有进程 3).杀死进程 1-1.进程的查看--ps和pstree命令 # 查看系统中所有进程,使用BSD操作系统格 ...

  8. linux查看定时任务进程,[Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务...

    进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux    # 查看系 ...

  9. (四)Linux系统定时任务及延迟任务

    目录 ###1.系统延时任务### ###2.at任务黑白名单### #at任务的黑名单 #at任务的白名单 ###3.系统定时任务### 1)系统级别的cron(文件方式设定定时任务) 2)cron ...

最新文章

  1. 超全的Android组件及UI框架
  2. 单例设计模式-饿汉式
  3. Hibernate提高性能的几点建议
  4. 记一次中小公司的研发问题
  5. Bash字符串处理(与Java对照) - 19.查找字符的位置
  6. mysql返回yyyy mm dd_怎么把取出mysql数据库中的yyyy-MM-dd日期转成yyyy年MM月dd日格式...
  7. 2018数据技术嘉年华-金融峰会·重庆站即将起航!
  8. MediaInfo使用简介(新版本支持HEVC)
  9. 在计算机结构的简化模型中,2.4 计算机结构的简化模型
  10. 时间序列分析与非参数统计
  11. LINUX安装中文字体SimHei
  12. ubuntu20.05安装vmware workstation 16,踩坑:GLib does not have GSettings support.
  13. 微信小程序:微擎开发飞鹅打印机配置
  14. nginx 启动 报错,80端口被占用问题,80端口无法杀掉问题
  15. R语言计算时间序列数据的移动平均值(滚动平均值、例如5日均线、10日均线等):使用zoo包中的rollmean函数计算k个周期移动平均值
  16. 5、TM4的PD7和PF0解锁问题
  17. TCP协议的通讯流程
  18. 什么样的工作轻松又赚钱?真的有这样的工作吗?
  19. 《Django By Example》读书笔记 01
  20. 【AD封装】芯片IC封装-QFP,TQFP,LQFP(带3D)

热门文章

  1. java中SSM环境搭建
  2. Java SimpleDateFormat用法
  3. Hashtable用法
  4. 下列c语言表达式能正确表达ch是空格或者回车的是,c语言上机选择题题及答案...
  5. netcore 开源cms
  6. 基于Java的SMTP协议邮件发送模拟系统
  7. XC3072锂电池充电IC(耐高压,带OVP,带防反接)
  8. 使用pyaudio播放无损音乐(wav)
  9. 【慕课网】前端零基础入门---步骤二:页面化妆师CSS---02-CSS文本样式
  10. 服务器 稳定 重要性,云服务器 重要性