使用windows任务调度器运行shell脚本

使用windows任务调度器运行shell脚本,windows,shell,scheduled-tasks,Windows,Shell,Scheduled Tasks,我现在有一个简单的shell脚本,我为使用cron运行的linux机器创建了这个脚本,但是现在我希望能够使用windows任务调度器运行这个文件。我曾尝试使用cron for cygwin使其正常工作,但即使在成功运行cron config并确保shell脚本能够成功执行之后,由于某种原因,cron任务仍然没有执行。所以我决定放弃并使用windows任务调度器。为了做到这一点,我查看了以下关于该问题的帖子: 在我的例子中,新任务的“操作”选项卡中的条目如下所示: 程序/脚本:c:\cygwi

我现在有一个简单的shell脚本,我为使用cron运行的linux机器创建了这个脚本,但是现在我希望能够使用windows任务调度器运行这个文件。我曾尝试使用cron for cygwin使其正常工作,但即使在成功运行cron config并确保shell脚本能够成功执行之后,由于某种原因,cron任务仍然没有执行。所以我决定放弃并使用windows任务调度器。为了做到这一点,我查看了以下关于该问题的帖子:

在我的例子中,新任务的“操作”选项卡中的条目如下所示:

程序/脚本:
c:\cygwin64\bin\bash.exe

参数:
-l-c”/cygdrive/c/users/paul/bitconbot/download\u all\u data.sh>>cygdrive/c/users/paul/bitconbot/logfile.log 2>&1“

从以下位置开始:
c:\cygwin64\bin

请注意,我将shell脚本的输出重定向到一个日志文件,这样我就可以在那里查看程序是否运行。除此之外,我只需编辑“触发器”选项卡,每天运行任务,并在fture中将时间设置为几分钟,以查看它是否成功运行

唉,当我查看任务的详细事件历史时,当触发时间过去时,没有任何变化。当我手动“运行”任务时,事件历史记录似乎添加了一些不同的事件,但任务在几秒钟内完成,而此任务应该需要一个多小时(当shell脚本直接从终端执行时也是如此)。当我查找应该创建的日志文件时,什么都没有

有人知道这里可能有什么问题吗?如何使任务在触发时正常运行,以及如何确保它正常运行

最好的

保罗

编辑: 以下是根据Ken White的要求显示事件历史的图片。 请忽略这一事实,它说有24个事件。这些是来自任务的多个单独运行。此处显示的事件是单次运行触发的事件的完整列表

编辑2: 关于让cron工作的尝试,我在尝试使用cygrunsrv启动cron服务时遇到了以下问题。首先,我试图通过键入

cygrunsrv-I cron-p/usr/sbin/cron.exe-a-D

现在当我打字的时候

$cygrunsrv-Q cron
服务:cron 当前状态:已停止 命令:/usr/bin/cron.exe

现在,我试图通过键入

cygrunsrv-S cron
Cygrunsrv:启动服务时出错:QueryServiceStatus:Win32错误1062: 服务尚未启动


有人知道这个错误是什么意思吗?我试着在谷歌上搜索,但找不到任何答案。

事件历史记录似乎添加了一些不同的事件,但我不知道它们是什么意思。在我看来,把它们包括在你的帖子里是个好主意;因为你不知道他们的意思并不意味着这里的人不会,那里可能有有用的信息。没有更多的细节,你只是在问关于许多可能成为问题的事情的猜测,这对这个网站来说太广泛了。嗨,肯,你是对的。我已经编辑了我的帖子,以显示事件历史记录的输出。如您所见,任务似乎正在执行,但这不可能是正确的,因为它需要更长的时间。所以这里确实有两个不同的问题:为什么任务没有被触发?而且,当我手动运行它时,为什么它不能正常运行?但我认为,如果能够以某种方式查看我的命令的错误流和输出,这两个问题都可以得到更明确的回答。我会尝试用一个非常简单的cron任务来重现这个问题,只使用shell内部的命令(例如,一个只运行命令
echo test>/cygdrive/tmp/ctmp.txt
(当然,如果它还不存在,您必须创建c:/tmp)),如果这真的不起作用,在Cygwin邮件列表中对此提出一个问题。看起来,即使像这样简单的命令对我也不起作用。我将在cygwin邮件列表上发布,并返回答案。