[英]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.