at
命令在 Linux 系统中用于调度一次性任务
查看可用时间:
使用 atq
命令查看当前可用的任务队列。输出结果将显示任务的优先级和预计执行时间。
创建任务:
使用 at
命令创建一个新任务。基本语法如下:
at TIME
其中,TIME
是一个时间表达式,如 16:30
或 2022-01-01 12:00:00
。在时间表达式后添加任务内容,使用 <<
符号将内容重定向到标准输入:
at 16:30 <<EOF
echo "Hello, World!"
EOF
取消任务:
使用 atrm
命令删除指定的任务。基本语法如下:
atrm JOB_NUMBER
其中,JOB_NUMBER
是任务的编号。例如,要取消编号为 1 的任务,可以使用 atrm 1
。
检查任务内容:
使用 at
命令查看指定任务的详细信息。基本语法如下:
at -c JOB_NUMBER
其中,JOB_NUMBER
是任务的编号。这将显示任务的详细内容,包括输入重定向的部分。
使用 at
命令发送邮件:
at
命令可以与 mail
命令结合使用,以发送带有任务内容的电子邮件。例如:
echo "Hello, World!" | at now + 1 hour
这将在当前时间后 1 小时发送一封包含 “Hello, World!” 的电子邮件。
使用定时任务:
虽然 at
命令主要用于一次性任务,但您可以通过将 at
命令的输出重定向到 crontab
文件来创建定时任务。例如,要将 echo "Hello, World!"
命令设置为每天上午 10 点执行,可以执行以下操作:
echo "echo 'Hello, World!'" | at now + 1 day
然后,使用 crontab -l
命令查看 crontab
文件,您会看到类似以下内容的条目:
0 10 * * * /bin/echo 'Hello, World!'
这将确保每天上午 10 点执行任务。