需要使用Windows任务计划程序安排Cygwin Expect脚本

时间:2013-11-07 15:44:55

标签: cron cygwin backup cisco

我目前正在实施备份方案以运行Cygwin Expect脚本。我想做的是让任务调度程序打开Cygwin并运行一个名为Backups的expect脚本。

我遇到的问题是我认为可变或基于路径的问题。我有来自Active目录的正确用户(我们称之为AD / svc_backup)集,我目前正试图看看我是否可以让任务调度程序打开Cygwin。

到目前为止,只有在用户登录按下单选按钮时才运行,它才会打开程序。这将打开cygwin,但不要让我运行任何进一步的命令,并给我一个错误。

例如ls给我“bash:ls:command not found”当它询问我想要启动什么程序时,我只需将其指向桌面上的快捷方式然后填写路径C:\ cygwin \ bin \ mintty.exe。任务调度程序似乎不是最直观的工具IMO,但如果我可以使它工作,我将使用它。我也知道cygwin也可以使用cron。 cron会是更好的选择吗?

1 个答案:

答案 0 :(得分:2)

我明白了。那么系统通过按钮“仅在用户登录时运行”单选按钮按钮“意味着我希望脚本运行,我希望看到它与本地usr帐户一起运行。(与用户交互)

“运行用户是否登录”按钮将您运行的任何脚本或程序转换为没有用户交互性的后台服务(您无法看到它)。通过使用cygwin中action选项卡下的完整路径,我能够告诉它运行哪个脚本。脚本路径和选项如下:

C:\ cygwin \ bin \ bash.exe -l -c C:/ cygwin / home / svc_p_cisco_bkp /

我一直在研究-l和-c参数,我可以从中收集-l表示输出的内容,-c表示运行这些命令。这在任何地方都没有列出,但从我所读到的内容中,我所能给出的答案是受过教育的。我也测试了,如果没有这些变量,脚本将无法正常运行。

当我检查“运行用户是否登录”按钮时,我看不到脚本启动,但我可以看到备份进入我的目标文件夹。但是,当“仅在用户登录时运行”时,我确实看到了它。我所做的是让脚本以我想要的方式运行,当我看到它然后选择“运行用户是否登录”单选按钮,当我知道它正常工作时。

所有内容都已启动并正在运行,并且在阅读了有关Windows任务计划程序的页面和页面后,我完全自动化了。