通过任务计划程序在 Windows 上运行 bash 文件

通过任务计划程序在 Windows 上运行 bash 文件

我知道有无数的帖子涉及同样的问题,但是我无法按照建议安装 Cygwin 并运行它来使其工作。

我正在尝试做的事情:

到目前为止我已经做过/测试过的事情:

  • 安装 Git
  • 创建了一个基本任务,并将操作设置为“启动程序”
  • 程序/脚本字段设置为“C:\Program Files\Git\bin\bash.exe”
  • 添加设置为 -l -c "C:/AWS/ec2-automate-backup.sh -v -r -n" 的参数

我最初以为我输入了错误的 shell 脚本路径格式,因为 Unix 对 \ 的解释不同。我已确认在常规命令提示符中运行命令“c:\Program Files\Git\bin\bash.exe”-l -c“C:/AWS/ec2-automate-backup.sh -v .....”确实有效,并且我的卷的快照已在 AWS 中创建。

因为上述方法有效,所以我认为也许我应该在“程序/脚本”字段中用一行指定所有内容。当我尝试这样做时,任务无限期地挂起在“任务当前正在运行”模式下。

我还将任何错误重定向到snapshot.log文件,并注意到它出现了一条错误消息,提示“无法找到凭据。您可以通过运行“aws configure”来配置凭据。”。奇怪的是,如果我打开bash可执行文件并运行aws configure,我的凭据已经加载在那里。然后我想也许是因为凭证是特定于配置文件的。我登录了用于运行任务的服务帐户,并在该帐户下设置了aws凭证,但仍然没有任何运气。如果有人曾经尝试过使用此脚本进行快照备份,我希望得到一些指点。我知道有一种更简单的方法可以通过AWS Lambda工具来完成,但这需要花钱,而我真的只需要为几台服务器执行此操作,因此无法证明成本是合理的。

答案1

我进入了 ccleaner 和计划任务,查看我的所有计划任务是如何设置的。查看它们所具有的命令上的图像:

在此处输入图片描述

您可以尝试一下这个并告诉我它是否有效吗?

谢谢,鹿

相关内容