大家好,今天小编关注到一个比较有意思的话题,就是关于linux***学习crontab的问题,于是小编就整理了2个相关介绍linux***学习crontab的解答,让我们一起看看吧。

  1. linux定时任务crontab添加步骤?
  2. 如何在Linux上定期定期执行命令、脚本(cron、crontab、anacron)?

linux定时任务crontab添加步骤?

在Linux上添加定时任务需要使用crontab命令,首先使用crontab -e命令编辑用户的定时任务列表,然后按照特定格式添加定时任务,格式为:分钟(0-59) 小时(0-23) 日(1-31) 月(1-12) 星期(0-7) 命令。每个字段之间使用空格分隔,需要执行的命令以及参数放在最后一个字段中。添加完定时任务后保存并退出编辑器即可生效。注意,定时任务的执行结果会被发到用户的系统邮箱中,可以使用邮件命令查看执行结果。

linux视频学习crontab-linux视频课程
(图片来源网络,侵删)

要在Linux中添加定时任务,可以按照以下步骤进行操作:

1. 打开终端,输入命令`crontab -e`,编辑cron任务。

linux视频学习crontab-linux视频课程
(图片来源网络,侵删)

2. 在打开的文件中,按照特定格式添加定时任务。格式为:`分钟 小时 天 月 星期 执行命令`。

3. 保存文件并退出编辑器。

linux视频学习crontab-linux视频课程
(图片来源网络,侵删)

4. 可以使用`crontab -l`命令来查看当前的定时任务列表。

5. 定时任务将按照设定的时间自动执行相关命令。

如何在Linux上定期定期执行命令、脚本(cron、crontab、anacron)?

在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守护进程来执行的。

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

到此,以上就是小编对于linux***学习crontab的问题就介绍到这了,希望介绍关于linux***学习crontab的2点解答对大家有用。