如何在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 , ...

posted @   阿牛20  阅读(3441)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示