用到cygwin,自然是希望能多處理一些類似linux的任務了,那就自然少不了定時任務crontab,看到網上教程不少,自己運行一個測試卻也不那麼容易,下面就記錄我的安裝過程,以供參考吧!
1、首先,你肯定已經在運行cygwin了,那就再次點擊setup.exe安裝程序,這裡選擇的時候可以添加一個更快的鏡像地址,因為自帶的裡面並沒有http://mirrors.163.com/cygwin,http://mirrors.sohu.com/cygwin,如下圖一, 選擇admin下文件install安裝crontab相關軟件,如圖二:

2、安裝服務
cygrunsrv -I cron -p /usr/sbin/cron -a -D
-I 是安裝
cron是服務名
-p /usr/sbin/cron 是指定服務程序的目錄
-a 後跟運行服務時需要添加的參數,這裡運行服務的命令是 /usr/sbin/cron -D
3、安裝完服務之後,需要運行
cygrunsrv -S cron #來啟動這個服務
4、添加測試crontab定時任務
crontab -e
*/2 * 03 12 * /bin/ls > /cygdrive/c/Users/weiy/Desktop/ls.log
*/1 * * 12 * echo "hahahaha" > /cygdrive/c/Users/weiy/Desktop/echo.log
5、查看定時任務情況
crontab -l #查看任務列表
cronevents #查看執行情況

如果看到這些信息,說明你已經正常運行crontab jobs了,如果沒有看到,那麼恭喜你,體現你解決問題的能力的時刻到了!
我遇到的是:(CRON) error (can't switch user context) #切換用戶失敗
解決辦法是:cron-config 重新安裝配置crontab,如圖:

但是這樣還不行,還是一樣的錯誤,還差一步,設置密碼: passwd -R

ok,輸入登錄密碼,這樣,就完成了這種方式的問題了。盡情地運行cron吧!
注:cygwin裡不需要再安裝windows中已經安裝的軟件即可運行,舉例: php -m , mysql -v , ...