如何在cygwin中运行crontab定时脚本[利刃篇]
用到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,一路yes下去,如图:
但是这样还不行,还是一样的错误,还差一步,设置密码: passwd -R
ok,输入登录密码,这样,就完成了这种方式的问题了。尽情地运行cron吧!
注:cygwin里不需要再安装windows中已经安装的软件即可运行,举例: php -m , mysql -v , ...
不要害怕今日的苦,你要相信明天,更苦!