在cygwin中的某个时间运行命令

在cygwin中的某个时间运行命令

我正在为 cygwin 编写 bash (.sh) 脚本。我想在特定时间运行特定命令。

我尝试了以下方法:

echo "test" | at 19:00

但我收到以下错误:

The AT command has been deprecated. Please use schtasks.exe instead.

那么我只能使用 Windows 中的计划任务来实现此目的吗?

答案1

Unix 中的命令at在 Cygwin 上不可用。 Cygwin 传统上使用atWindows 中的命令,但这已被弃用,取而代之的是schtasks.exe.

所以你的问题的答案是肯定的:你只能使用 Windows 中的计划任务来运行一次任务。

(您可以cron在特定日期的特定时间使用和设置它......但除非您从 crontab 中删除该任务,否则它每年都会重复。);-)

答案2

您可以添加一个 cron 作业。

从要执行 bash 脚本的用户登录。

执行crontab -e命令。

现在假设如果您想在每天 19:00 准确运行 bash 脚本,那么您需要添加如下行:

00 19 * * * /path/to/bash/script

注意:该脚本必须为该用户设置可执行位。

相关内容