如何使用 at 命令安排 linux 中的 python 脚本的执行?

How do I schedule the execution of a python script in linux with the at command?

我的目标是使用 at 命令安排在 Linux 中执行一个简单的 python 脚本。

问题:我的python脚本没有在指定的时间执行。没有任何反应,没有错误消息。

我有以下简单的 helloworld 文件:

#!/usr/bin/python3

print("hello world")

要安排我输入的作业:

at now + 1 min

我提供我要执行的文件:

./helloworld

键入 atq 我看到作业安排得很好。

但它只是发生了...没什么。

我不确定的是:

  1. 最好保留脚本的扩展名 .py,因为它是 python。
  2. 你的文件应该是可执行的
$ chmod +x ./helloworld
  1. 根据您的需要,您可以在 运行 at 时键入脚本的完整路径。
  2. 如果你想使用helloworld命令,包含这个脚本的文件夹应该在PATH环境变量中。否则,系统只是不知道在哪里可以找到它。如果这样做,则根本不需要在命令或任何路径之前键入 ./
    关于 PATH https://opensource.com/article/17/6/set-path-linux
  3. 的好文章

at 不写入终端(命令运行时甚至可能不存在)。相反,

The user will be mailed standard error and standard output from his commands, if any. Mail will be sent using the command sendmail(8). If at is executed from a su(1) shell, the owner of the login shell will receive the mail.

因此,如果您的命令仅写入标准输出,则您需要使用 mail 或其他邮件客户端检查本地邮箱中的命令输出。

否则,您可以让您的命令显式写入其他已知文件以供稍后查找。