Linux一次性计划任务at命令使用详解

  • Post category:Linux

下面是关于“Linux一次性计划任务at命令使用详解”的完整攻略。

什么是at命令

at命令是Linux中一种简单的一次性计划任务工具,可以在指定的时间执行某个命令或脚本。与cron任务不同,它只在指定的时间点执行一次,而不是定期循环执行。使用at命令可以方便地指定一个比较特定的时间点执行某个任务。

at命令使用方法

  1. at命令的语法:
at [-m] [-f filename] [-q queue] [-t time] [-c command] time
  1. 参数说明:

  2. -m:表示发送邮件给用户,告知命令执行情况;

  3. -f filename:表示需要执行的脚本或命令;
  4. -q queue:表示任务的队列;
  5. -t time:表示任务的执行时间,时间格式为HH:MM, YYYY-MM-DD, 这个命令的时间须为UTC时间;
  6. -c command:在命令行下指定要执行的命令或脚本;
  7. time:表示任务的执行时间。

at命令使用示例

下面举例2个示例。

示例一:

执行geektime这个程序:

  1. 使用以下命令:
    $ echo "./geektime" | at now + 1 minute
  1. at会将该命令当成输入读取后,放到定时任务列表中。我们可以使用 atq 命令查看定时任务列表:
    $ atq
    2   Thu Sep 10 11:22:00 2020 a root

可以看到,现在有一个任务登记,ID为2,执行时间为Thu Sep 10 11:22:00 2020,所有者为root。执行时间为当前的一分钟后,执行的内容就是echo “./geektime”这条命令。

示例二:

指定执行一个Shell命令。

  1. 先将Shell脚本写好,内容为:

#!/bin/bash
echo "Hello World"

  1. 执行以下命令:
    $ chmod +x test.sh
    $ echo "./test.sh" | at now + 1 minute
  1. 校验定时任务,使用以下命令:
    $ atq
    3   Thu Sep 10 11:33:00 2020 a root

可以看到,现在有一个任务登记,ID为3,执行时间为Thu Sep 10 11:33:00 2020,所有者为root。执行时间为当前的一分钟后,执行的内容就是./test.sh这个文件。

结论

at命令可以在Linux中轻松实现一次性计划任务,为系统管理员提供了很大的便利。使用at命令,可以避免需要执行任务的时候忘记,或者需要在非常特定的时间执行,自动执行还能避免人为失误。