Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 415|回复: 0

Linux的计划任务

[复制链接]
  • TA的每日心情
    开心
    2023-3-18 00:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2013-3-11 23:08:23 | 显示全部楼层 |阅读模式

    at命令:指定一个时间执行一个任务

    cron机制:根据一个时间表自动执行任务

    anacron机制:在一个指定时间间隔错过后自动执行任务


    at命令需要系统后台有一个atd进程

    at:安排延时任务

    atq:查询当前的等待任务

    atrm:删除等待任务

    batch:以一个低优先级延时执行任务

    例:

    [root@redhat root]# ps -ef|grep atd        //查看atd是否启动

    [root@redhat root]# /etc/init.d/atd restart        //重新启动atd服务

    [root@redhat root]# chkconfig --level 2345 atd on //设置系统启动运行等级是2345时,启动atd服务

    [root@redhat root]# at now +1 min    //设置一分钟后的任务

    at> echo "hello" > /dev/tty2        //将hello输出到tty2

    at> <EOT>        //ctrl+D

    job 4 at 2011-11-21 13:44

    然后在linux系统中按下快捷键Alt+f2,显示第2个终端可以看到:Redhat login: hello

    [root@redhat root]# at 13:55        //设置13:55后的计划任务

    at> echo "this is test" > /root/test.txt        //将内容输出到 /root/test.txt

    at> <EOT>        //ctrl+D

    job 5 at 2011-11-21 13:55

    [root@redhat root]# cat /root/test.txt

    this is test

    [root@redhat root]# at 1:00 2011-11-22        //在2011-11-22 1:00自动关闭系统

    at> /sbin/shutdown -h now        //自动关闭系统

    at> <EOT>

    job 6 at 2011-11-22 01:00

    [root@redhat root]# cd /var/spool/at        //进到at目录下

    [root@redhat at]# ls

    a0000101502a34 a0000201502a37 a0000301502a37 a0000601502cdc spool

    [root@redhat at]# cat a0000601502cdc

    …………

    /sbin/shutdown -h now

    [root@redhat at]# atq        //查询系统有多少个正在等待被执行的任务

    1 2011-11-21 13:40 a root

    2 2011-11-21 13:43 a root

    3 2011-11-21 13:43 a root

    6 2011-11-22 01:00 a root

    [root@redhat at]# at now +5 min

    at> echo "test" > /dev/tty2

    at> <EOT>

    job 7 at 2011-11-21 14:16

    [root@redhat at]# atq

    1 2011-11-21 13:40 a root

    2 2011-11-21 13:43 a root

    3 2011-11-21 13:43 a root

    6 2011-11-22 01:00 a root

    7 2011-11-21 14:16 a root

    [root@redhat at]# atrm 3    //删除工作号为3的任务

    [root@redhat at]#

    You have new mail in /var/spool/mail/root

    [root@redhat at]# mail

    ……

    & 8

    Message 8:

    From root@localhost.localdomain Mon Nov 21 14:20:00 2011

    Date: Mon, 21 Nov 2011 14:20:00 +0800

    From: root <root@localhost.localdomain>

    Subject: Output from your job 8

    To: root@localhost.localdomain


    hi luowei

    [root@redhat at]# batch    //用于创建大批量的任务

    warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh

    at> echo "hi" > /dev/tty2

    at> <EOT>

    job 9 at 2011-11-21 14:28


    at命令的使用控制

    at命令的使用控制文件

    /etc/at.allow

    /etc/at.deny



    基于用户的使用控制


    at命令的控制流程

    例:

    [root@redhat at]# vi /etc/at.deny

    test

    jack

    ~

    [root@redhat at]# su - jack

    [jack@redhat jack]$ at

    You do not have permission to use at.

    [jack@redhat jack]$





    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-23 05:47 , Processed in 0.378116 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表