繁体   English   中英

在cygwin下运行Cronjob

[英]Running Cronjob under cygwin

我有需要使用cygwin crontab运行的脚本。

所以我做了什么。

使用cygwin setup.exe安装了两个其他cygwin软件包

Cron和cygrunsrv

然后在安装新的crontab

* * * * * sh /housekeeper.sh -t CPS 

由于我无法获得housekeeper.sh的输出,因此我检查了

cronevents.exe

这给了我以下错误信息。

2012/05/28 18:22:01 [SYSTEM] /usr/sbin/cron: PID 3880: (CRON) error (can't switc
h user context)

谁能帮助我解决这个问题。

预先感谢您的任何帮助

由于运行该服务的帐户无法切换用户上下文,因此该错误会出现在Windows应用程序事件日志中(请参阅http://www.davidjnice.com/cygwin_cron_service.html )。

将运行服务的用户更改为必须运行脚本的实际用户。

看来您的cron将第6个字(sh)当作用户名来运行命令。 尝试使用

* * * * * yourusername /path/to/script.sh options

并确保script.sh正确设置其PATH ,因为cron可能根本没有设置任何PATH

如果您有多个用户,并且希望进行此运行,则:有三种方法可以在不使用密码的情况下切换用户上下文,方法1:从头开始创建令牌方法2:LSA身份验证包方法3:使用密码

我在这里说明方法2。尝试命令“ cyglsa-config”另外,将“登录”设置为“本地系统”帐户。 并重新启动系统。

将为cron守护程序服务设置LogOn选项的图像更多详细信息: https : //cygwin.com/cygwin-ug-net/ntsec.html#ntsec-nopasswd1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM