下面是关于“Linux一次性计划任务at命令使用详解”的完整攻略。
什么是at命令
at命令是Linux中一种简单的一次性计划任务工具,可以在指定的时间执行某个命令或脚本。与cron任务不同,它只在指定的时间点执行一次,而不是定期循环执行。使用at命令可以方便地指定一个比较特定的时间点执行某个任务。
at命令使用方法
- at命令的语法:
at [-m] [-f filename] [-q queue] [-t time] [-c command] time
-
参数说明:
-
-m:表示发送邮件给用户,告知命令执行情况;
- -f filename:表示需要执行的脚本或命令;
- -q queue:表示任务的队列;
- -t time:表示任务的执行时间,时间格式为HH:MM, YYYY-MM-DD, 这个命令的时间须为UTC时间;
- -c command:在命令行下指定要执行的命令或脚本;
- time:表示任务的执行时间。
at命令使用示例
下面举例2个示例。
示例一:
执行geektime这个程序:
- 使用以下命令:
$ echo "./geektime" | at now + 1 minute
- 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命令。
- 先将Shell脚本写好,内容为:
#!/bin/bash
echo "Hello World"
- 执行以下命令:
$ chmod +x test.sh
$ echo "./test.sh" | at now + 1 minute
- 校验定时任务,使用以下命令:
$ 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命令,可以避免需要执行任务的时候忘记,或者需要在非常特定的时间执行,自动执行还能避免人为失误。