专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

如何在Linux上定期定期执行命令脚本_PHP基础

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 19:24:15       共计:3567 浏览

如何在Linux上定期定期执行命令脚本?

在Linux上执行定时任务的场景还是很多的,比如说我们要:

定时进行日志文件切割;

定时同步服务时间;

定时备份重要数据;

定时执行任务等。

Linux服务器上要实现定时任务,方式有很多,比如说:cron、anacron、sleep等。那这几种之间有何区别及该选哪种呢,结合我的经验谈谈我的看法以供大家参考。

1、cron(crond)

crond是Linux自带的一个守护进程,利用它来重复执行指定的任务,时间周期可以按分钟、小时、天、月、周来执行,现实我们主要也就是靠它来执行定时任务。

这里需要注意的是,crontab是crond进程依懒的任务列表文件(对应配置文件在:/etc/crontab 中,不过系统中也有crontab命令,通过这个命令我们可以编辑任务清单),我们将定时任务记录在crontab中,任务的执行靠的还是crond守护进程。

2、anacron

anacron(对应配置文件在:/etc/anacrontab 中)可以理解为是cron的一种补充,但两者定位不同。cron定位是7x24小时不间断的计划任务执行者,而anacron是用来处理非7x24小时运行的Linux系统上的crontab的。有点绕口,简单说就是,假设一台服务器每周六周日是关闭的,而crontab中有几条是在周六周日执行的,此时anacron就能发挥作用了。anacron在启动后会去检查关机期间哪些任务应该执行却没有执行到的crontab任务,找到这些任务,执行完,然后anacron就停止了。

其实anacron依懒于crontab,anacron能执行也是靠crontab来运行的。

anacron对于一般用户基本上用不到!

3、sleep

还有一种方案是通过sh脚本来执行while(true) + sleep操作,以此来模拟定时任务。这种常见于一些PHP脚本模拟“守护进程”效果,执行完一段代码后,休眠指定时间后再次执行。

综上,在实际操作中,我们实现定时任务99%的情况下都是通过crontab这个命令和 /etc/crontab 这个文件来设置定时任务的,而定时任务的执行是由Linux自带的crond守护进程来执行的。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:xxxcom域名跳转到wwwxxxcom_PHP基础 | ·下一条:程序员为什么要学数据结构_PHP基础

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有