一、系统的延时

  •  是临时的。对系统做的任务指定一个时间点。发起的命令是at

at    时间点(now+1min)      ## 设定任务实行时间

at>  执行命令                    ## 任务的动作

at><EOT>                 ## 用ctrl+D发起任务

  • at命令常用参数:

  at   -l    查看列表

   
 

  at   -c  任务号   查看任务内容

   

   at    -r  任务号  取消任务执行

 注意:任务有输出的时候,输出会以邮件的形式发送给at任务的发起者。在超级用户下查看邮件命令:mail(邮件在/var/mail/root下)。

  •  使用:  mail  -u  root      查看root用户的邮件

按n表示查看第n封的内容

按q表示退出

>  /var/spool/mail/root    清空邮件

二、设置延时任务的黑白名单

/etc/at.deny    系统中默认存在,在此文件中的用户不能执行at

/etc/at.allow     系统中默认不存在;当存在时,普通用户不能执行at命令,且只有在该文件中用户可以执行

在root用户下设置黑名单:vim  /etc/at.deny    添加 student      ##此时在student用户下,不可以执行延时任务的设定

在root用户下设置白名单:/etc/at.allow (该文件默认是不存在的)若建立出来,则普通用户不能执行at命令;除了超级用户,只有在at.allow里面的用户才能使用at命令。          

注意:白名单出现,黑名单则会失效!

三、系统定时任务设定

  该命令是永久的。

    【1】系统控制crontab的服务

     crond.service  ## 当该服务开启时,控制定时任务生效(不会执行错误时间点的任务)

【2】crontab相关命令

  • 使用命令:  crontab  -e  -u   root 对文件编辑,以下结果表示每分钟执行一次file1的创建 (-e 直接设定 -u  指定发起的用户  无-u默认当前用户) 
    

注意:该文件目录是:/var/spool/cron/,文件名为root(用户发起者是谁,文件名就是谁

  • 使用命令:crontab  -l   -u  root  查看该用户文件内容(与cat  /var/spool/cron/root结果一样)     
    

  • 使用命令:crontab  -r  -u   root   对该用户的文件内容的删除
   

【3】crontab  时间表示方式:

    *   *  *  *  *   rm  -rf     /mnt/*    ## 表示每分钟执行一次

    * /2  *  *  *  *              ## 表示每2分钟执行一次

    * /2  09-17  *  *  *            ##上午九点到下午的五点每两分钟执行一次

    * /2  */2    *  *  *          ## 每个两小时每两分钟

    * /2  09-17  *  *  5             ## 【2】 该【1】条件的基础上加上只在周五做

    * /2  09-17  *  1  5         ## 每周周五和每月一号的早9晚5没两分钟执行一次

    * /2  09-17  3,5  1  5             ##表示3月和五月每周周五和3.1及5.1的上午9点到下午5点,且每2分钟一次

   注释: man  crontab   命令使用查看      

man 5 crontab   查看该文件

  •  根目录下的anacron用来监控并执行漏过的定时任务(crond.service默认是开机自启动)  

【3】文件的方式设定

  1)交互式:

vim    /etc/cron.d/filename  ## 文件名自己取

     *   *   *   *     *  username    action

  实例:每分钟使用root用户执行/mnt/test/目录下文件的删除

   

注释:打开另一个终端,可以使用watch -n 1 ls /mnt/test/* 命令观察文件的内容

2)非交互式:

[root@foundation77 cron.d]# touch westos

     [root@foundation77 cron.d]# echo "* * * * * root touch /mnt/test/xniu" >> westos     ## 由于存在特殊字符*,所以要双引号
     [root@foundation77 cron.d]# cat westos
     * * * * * root touch /mnt/test/xniu

【4】使用crontab命令的执行限定

     /etc/cron.deny     系统中默认存在,在此文件中的用户不能执行crontab

/etc/cron.allow     系统中默认不存在;当存在时,普通用户不能执行crontab命令,且只有在该文件中用户可以执行

    注意:这两个名单不会影响/etc/cron.d/目录中定时任务的发起及执行 

示例:

1)修改/etc/cron.deny 文件,把student添加进去

2)修改/etc/cron.allow文件为空

3)使用 vim /etc/cron.b/westos,对内容进行修改

   

4)一分钟后,在/home/student目录下对文件进行查看:

[root@foundation77 cron.d]# ll /home/student/

     total 0
     -rw-r--r--. 1 student student 0 Aug  1 23:58 hello

四、临时文件的管理

  【1】临时文件,顾名思义为当一个程序运行时,临时需要的文件。 

   cd    /usr/lib/tmpfiles.d/

   vim   westos.conf

   d  /mnt/westos  777   root   root    8s    ## 各参数分别表示:目录形式   目录名   权限   用户  组用户    清理的时长

   systemd-tmpfiles   --create    /usr/lib/tmpfiles.d/*    ## 建立westos.conf里面的文件

   systemd-tmpfiles  --clean    /usr/lib/temfiles.d/*    ## 在时长到达后,执行该命令会对临时文件进行删除

【2】示例:

[root@foundation77 cron.d]# cd /usr/lib/tmpfiles.d/

      [root@foundation77 tmpfiles.d]# vim xniu.conf
     

[root@foundation77 tmpfiles.d]# systemd-tmpfiles --create /usr/lib/tmpfiles.d/*

      [root@foundation77 tmpfiles.d]# ls /mnt/
      create_all.sh  software  test1     vm_kuaizhao.sh
      creat_vm.sh    test      test.xml  vm_reset.sh
      [root@foundation77 tmpfiles.d]# touch /mnt/test1/file{1,6}
      [root@foundation77 tmpfiles.d]# ls /mnt/test1/
      file1  file6
      [root@foundation77 tmpfiles.d]# systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*     ##执行该命令的时候,时间要超过8s
      [root@foundation77 tmpfiles.d]# ls /mnt/test1/
     

Linux下系统的定时及延时任务的更多相关文章

  1. linux 下crontab相关定时触发的配置规则

    linux 下crontab相关定时触发的配置规则: 1.基本格式 :* * * * * command(分 时 日 月 周 命令)2.取值范围:分钟1-59 每分钟用*或者 */1表示小时1-23( ...

  2. linux下使用crontab定时备份MYSQL数据库的方法:

    摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...

  3. Linux下系统时间函数、DST等相关问题总结(转)

    Linux下系统时间函数.DST等相关问题总结 下面这个结构体存储了跟时区相关的位移量(offset)以及是否存在DST等信息,根据所在的时区信息,很容易找到系统时间与UTC时间之间的时区偏移,另外根 ...

  4. linux下系统定时任务配置----crontab(mysql定时备份)

    crontab命令用于设置周期性被执行的指令,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任 ...

  5. ***linux下用cron定时执行任务的方法

    名称 : crontab  使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab. crontab-[-u user]-用标准输入 ...

  6. linux下crontab实现定时服务详解

    http://www.jb51.net/LINUXjishu/151805.html 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动 ...

  7. Linux下的crontab定时执行任务命令详解

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“cr ...

  8. linux下使用crontab定时执行脚本

    使用crontab定时执行脚本 cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务: crontab –e : 修改 crontab 文件,如果文件不存在会自 ...

  9. Linux下的crontab定时、执行任务命令详解 oracle 自动备份

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为&qu ...

随机推荐

  1. servlet的总结

    tomcat在启动的时候 加载webapp下面的web.xml,加载里面定义的servlet. web.xml文件有两部分:servlet类定义和servlet映射定义每个被载入的servlet类都有 ...

  2. centos6.7安装lamp

    1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport ...

  3. 通过map文件了解堆栈分配(STM32、MDK5)--避免堆栈溢出

    环境:STM32F103C8T6,MDK5 在最近的一个项目的开发中,每当调用到一个函数,程序就直接跑飞.debug跟进去看不出什么逻辑错误,但发现函数内局部变量声明之后,全局变量的值被清零,后来查看 ...

  4. Android 7.1 快捷方式 Shortcuts

    转载请注明出处:王亟亟的大牛之路 前些天就看到相关内容了,但是最近吸毒比较深(wow),所以没有紧跟潮流,今天补一篇. 先安利:https://github.com/ddwhan0123/Useful ...

  5. HA-web-services

    一.HA部署 本次实验的程序选型为heartbeat v1 + hearesources.资源有IP和httpd,filesystem 配置HA集群的前提: (1)各节点资源一致,硬件或软件环境一致 ...

  6. 搭建时间服务器(linux)

    我们搭建集群环境的时候,时间必须是要统一的,才能保证集群数据的一致性. 一般操作是直接使用NTP,跟默认的时间服务器同步,但是最好还是让所有节点跟集群中的某台作为时间服务器的节点同步. 步骤:(节点有 ...

  7. 初入spring boot(八 )Spring Data REST

    1. 什么是Spring Data REST Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源.目前Spring ...

  8. AngularJS Injector和Service的工作机制

    要了解angularJS里的injector和Service是如何工作的,需要阅读/src/auto/injector.js.另外要结合/src/loader.js才能明白它的应用场景. auto/i ...

  9. RabbitMQ入门(4)——路由(Routing)

    这一篇我们将介绍如何订阅消息的一个子集.例如,我们只需要将日志中的error消息存储到日志文件中而将所有日志消息都在控制台打印出来. 绑定(Bindings) 在前面的例子中,我们创建了交换机和队列的 ...

  10. Android -- 多线程下载, 断点下载

    1. 原理图 2. 示例代码 需要权限 <uses-permission android:name="android.permission.INTERNET"/> &l ...