我正在为 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 传统上使用at
Windows 中的命令,但这已被弃用,取而代之的是schtasks.exe
.
所以你的问题的答案是肯定的:你只能使用 Windows 中的计划任务来运行一次任务。
(您可以cron
在特定日期的特定时间使用和设置它......但除非您从 crontab 中删除该任务,否则它每年都会重复。);-)
答案2
您可以添加一个 cron 作业。
从要执行 bash 脚本的用户登录。
执行crontab -e
命令。
现在假设如果您想在每天 19:00 准确运行 bash 脚本,那么您需要添加如下行:
00 19 * * * /path/to/bash/script
注意:该脚本必须为该用户设置可执行位。