簡體   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