• linux的at定时任务的使用


    linux的at定时任务的使用


    使用at只能执行一次性任务;
    使用at命令需要开启atd进程。

    以下情况需要安装at命令:

    情况1、查看是否开启atd进程:ps -ef | grep atd。
    [test@localhost init.d]$ ps -ef | grep atd
    test 1599 1431 0 14:39 pts/0 00:00:00 grep --color=auto atd
    结果只有一行,没有显示atd命令的位置信息,需要安装at命令,

    情况2、使用at命令时显示:
    bash: at: 未找到命令

    安装at命令:
    yum -y install at。
    设置自动启动at命令:
    chkconfig --level 35 atd on。
    启动atd进程:
    service atd start。

    如果在使用at命令后,报如下错误:
    Can't open /var/run/atd.pid to signal atd. No atd running?
    意思是atd进程没有运行,需要执行启动atd进程命令:
    service atd start。

    再次查看atd进程的结果:ps -ef | grep atd。
    root 1652 1 0 14:59 ? 00:00:00 /usr/sbin/atd -f
    test 1664 1431 0 14:59 pts/0 00:00:00 grep --color=auto atd


    开启命令:/etc/init.d/atd start或者restart(也可以使用service命令)。
    查询任务:atq。
    命令参数:
    -m 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
    -v 显示任务将被执行的时间
    -c 打印任务的内容到标准输出
    -V显示版本信息
    -q<> 使用指定的队列
    -t<> 以时间参数的形式提交要运行的任务

    示例:指定时间来执行ls命令
    [test@localhost ~]$ at 14:55 2018-10-09
    at> date > 123.txt //这里是输入要执行的命令或文件,
    //使用ctrl+backspace键才能删除,
    at> <EOT> //使用ctrl+D输入结束。

    job 5 at Tue Oct 9 14:55:00 2018


    使用atq查询:
    [test@localhost /]$ atq
    2 Tue Oct 9 14:53:00 2018 a test
    5 Tue Oct 9 14:55:00 2018 a test

    使用at -c 编号,查看内容:
    [test@localhost /]$ at -c 2

    使用atrm删除:
    [test@localhost /]$ atrm 2


    示例:三天后的下午5点执行/bin/ls
    at 5pm+3 days
    at> /bin/ls

    如果不希望某些账号使用at命令,可以在/etc/at.deny文件中写入禁止的
    用户名。

  • 相关阅读:
    Codeforces 841 D
    Codeforces 838 B
    Codeforces 833 C
    Codeforces 101572 D
    Codeforces 101173 C
    Codeforces 444 C
    POJ 3076 Sudoku
    Codeforces 1025 D
    算法笔记--基环树
    Codeforces 1016 E
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9760586.html
Copyright © 2020-2023  润新知