使用Windows任务调度程序运行shell脚本

时间:2016-05-19 02:31:23

标签: windows shell scheduled-tasks

我当前有一个简单的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的要求显示事件历史的图片。 enter image description here 请忽略它说有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: 该服务尚未开始。

有谁知道这个错误意味着什么?我试过谷歌搜索,但无法找到任何答案。

0 个答案:

没有答案