浅谈Web开发中的定时任务 编辑
曾经做过Windows server下的定时任务的业务,最近又做了一些Linux下使用Crontab做的定时任务的业务,觉得有必要进行一次小结,于是有了如下这篇文章。
Windows Server下
设置定时任务的步骤如下:
比如:你开发了一个Windows可执行程序,并将其编译成demo.exe,然后你需要该任务每到特定的时间都自动进行执行...
步骤1:打开"开始" -> "计划任务程序"
步骤2: 依次选择 "计划任务程序(本地)" -> "任务计划程序库"
步骤3: 点击右侧的"创建基本任务",然后按照向导填好相应的设置即可...
Linux下
使用Crontab设置定时任务:
1、理解crontab的时间表达式
基本格式 :
* * * * * command
分 时 日 月 周 命令
2. 配置和使用Crontab做定时任务
Ubuntu下,在终端中输入crontab -e,即可打开crontab的配置文件,在这个文件里添加待执行的任务,里面可以执行各种各样的命令,比如:curl、sh、php等等...
例如:你要给bravo发一份信,这个信的内容在/home/www/msg.txt里
在执行crontab -e后,添加如下任务:
50 13 4 5 * mail bravo < /home/www/msg.txt
表示在每年的5月4号13:50发信给他
再比如:
在该配置文件中加入:
20 13 * * * /usr/bin/curl -i http://dev.blog.io/cron/testAction
即可定时访问该网址~
另一个例子是使用sh命令(有时需要改为bash):
00 02 * * * sh /home/bravo/shell/dailyError.sh
也可以 crontab -uroot -l查看指定用户的定时任务。
另外Linux下的at命令也可进行定时任务,
at命令:仅执行一次的工作调度。
我们使用at命令来生成所要运行的工作,并将这个工作以文本文件的方式写入到 /var/spool/at/目录里,使该工作能等待atd这个服务取用和执行。
先寻找/etc/at.allow这个文件,只有写在这个文件中的用户才能使用at命令;再寻找/etc/at.deny文件,写在这个文件里的用户不能使用at命令;要是这两个文件都不存在,说明只有root用户才有权限使用at命令。
step1. atd服务的启动 /etc/init.d/atd restart
step2.at命令详解
at [-mldv] TIME
at -c 工作号码
参数:
-m:当at的工作完成后,即使没有输出信息,以email通知该用户工作已经完成
-l: at -l相当于atq,列出系统上所有该用户at的调度
-d: at -d相当于atrm,取消一个在at调度中的工作
-v:可以使用比较明显的时间格式列出at调度中的任务列表
-c:列出后面接的该工作的实际命令内容
TIME时间格式:
HH:MM 04:00
HH:MM YYYY-MM-DD 04:00 2009-03-17
HH:MM[am|pm] [Month] [Date] 04pm March 17
HH:MM[am|pm]+numver [minutes|hours|days|weeks] 04:00 + 5 minutes
now + 5 minutes
*注: 以上内容中的部分图文来自于网上,其他部分均为原创...
如果,您希望更容易地发现我的新文章,不妨点击一下绿色通道的【关注我】,亦可微信搜索公众号「大白技术控」关注我。
如果您觉得阅读本文对您有帮助,请点击一下右下方的推荐按钮,您的推荐将是我写作的最大动力!版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。如您有任何疑问或者授权方面的协商,请 .
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?