我当前有一个简单的shell脚本,我为使用cron运行的linux机器创建,但现在我希望能够使用Windows任务调度程序运行该文件。我已经尝试使用cron for cygwin来工作,但即使在成功运行cron-config并确保shell脚本可以成功执行之后,由于某种原因,cron任务根本就没有执行。所以我决定放弃并使用Windows任务调度程序。为此,我查看了以下有关该问题的帖子:
Cgywin .sh file run as Windows Task Scheduler
http://www.davidjnice.com/cygwin_scheduled_tasks.html
在我的情况下,"动作"中的条目新任务的选项卡如下所示:
程序/脚本:c:\cygwin64\bin\bash.exe
参数:-l -c "/cygdrive/c/users/paul/bitcoinbot/download_all_data.sh >> cygdrive/c/users/paul/bitcoinbot/logfile.log 2>&1"
从:c:\cygwin64\bin
请注意,我将shell脚本的输出重定向到日志文件,因此我应该能够看到程序是否运行。除此之外,我只是编辑了"触发器"选项卡每天运行任务,并将时间设置为几分钟,以查看它是否成功运行。
唉,当我查看任务的详细事件历史记录时,触发时间过去后没有任何变化。当我手动"运行"在任务中,事件历史似乎添加了一些不同的事件,但是任务在几秒钟内完成,而这个任务应该花费一个多小时(当shell脚本直接从终端执行时)。当我查找应该创建的日志文件时,什么都没有。
有谁知道这里可能存在什么问题?如何让我的任务在触发时正常运行,我该如何确保它能够正常运行?
最佳,
保
编辑: 这是根据Ken White的要求显示事件历史的图片。 请忽略它说有24个事件的事实。这些来自任务的多个单独运行。此处显示的事件是单次运行触发的事件的完整列表。
编辑2: 关于我尝试让cron工作的尝试,当我尝试使用cygrunsrv启动cron服务时遇到了以下问题。首先,我尝试通过键入
来启动cron cygrunsrv -I cron -p /usr/sbin/cron.exe -a -D
现在我输入
$cygrunsrv -Q cron
服务:cron
现状:停止
命令:/usr/bin/cron.exe
现在,我尝试通过键入
来启动cron服务 cygrunsrv -S cron
Cygrunsrv:启动服务时出错:QueryServiceStatus:Win32错误1062:
该服务尚未开始。
有谁知道这个错误意味着什么?我试过谷歌搜索,但无法找到任何答案。