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