首页 > 图灵资讯 > 技术篇>正文

【Linux】crontab——定时执行任务,表达式编写

2023-05-10 17:21:45

  简介

  Linux crontab和Windows task schedules非常相似。Crontab可用于在系统中定期执行任务。例如,如果你每天早上8点写一个爬虫,你可以使用Crontabab;安装的Tomcat服务器需要每天凌晨重启一次,也可以使用Crontab。总之,我们可以通过Crontab工具完成几乎所有的定时任务。安装 yum install cronie Linux上Crontab的结构

  从左到右依次为: [分钟] [小时] [每月的某一天] [每年的一个月] [每周的某一天] [执行命令] 注:请注意每个选项的取值范围。如何 添加/编辑 Crontab 在crontab中添加或更新命令 crontab -e

  默认情况下,系统将编辑当前登录用户的crontab命令集。需要编辑其他用户的命令集,并使用以下命令 crontab -u username -e 查看Crontab命令集 查看当前系统登录用户的Crontab命令集 crontab -l 查看其他用户的Crontab命令集 crontab -u username -l 使用20个超实用的Crontab实例 每天 02:00 执行任务 0 2 * * * /bin/sh backup.sh 每天 5:00和17:00执行任务 0 5,17 * * * /scripts/script.sh 每分钟执行一次任务 通常,我们不需要每分钟执行脚本(默默地想到12306–) * * * * * /scripts/script.sh 每周日 17:00 执行任务 0 17 * * sun /scripts/script.sh 每 10min 执行一项任务 */10 * * * * /scripts/monitor.sh 在特定的几个月内执行任务 * * * jan,may,aug * /script/script.sh 在特定的几天内执行任务,eg:在每周五和周日17点执行任务 0 17 * * sun,fri /script/scripy.sh 在一个月的第一个星期天执行任务 0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh 每四小时执行一项任务 0 */4 * * * /scripts/script.sh 每周一、周日执行任务 0 4,17 * * sun,mon /scripts/script.sh 任务每30秒执行一次任务 我们无法通过类似的上诉例子直接执行,因为最小的是1min。但我们可以使用以下方法。 * * * * * /scripts/script.sh * * * * * sleep 30; /scripts/script.sh 多个任务在一个命令中分配 * * * * * /scripts/script.sh; /scripts/scrit2.sh 每年执行一次任务 @yearly /scripts/script.sh

  @yearly 类似于“0 0 1 1 *”。它将在每年的第一分钟内实施,通常我们可以用这个来发送新年问候。 每月执行一次任务 @yearly /scripts/script.sh 每周执行一次任务 @yearly /scripts/script.sh 每天执行一次任务 @yearly /scripts/script.sh 每分钟执行一次任务 @yearly /scripts/script.sh 当系统重启时执行 @reboot /scripts/script.sh 将 Cron 结果,重定向的特定账户 默认情况下,cron 结果细节只会发送给我们 cron 被制定的用户。如果需要发送给其他用户,可以通过以下方式: # crontab -l MAIL=bob 0 2 * * * /script/backup.sh 将所有的 cron 命令备份到文本文件中 当我们失去cron命令时,这是一种方便快捷的恢复方式。 以下是用这种方式恢复cron的一个小例子。(看~) 首先:检查当前的cron MAIL=rahul0 2 * * * /script/backup.sh

  然后:将cron备份到文件中 # crontab -l > cron-backup.txt# cat cron-backup.txtMAIL=rahul0 2 * * * /script/backup.sh

  然后:删除当前的cron # crontab -r# crontab -lno crontab for root

  恢复:从text开始 恢复在file中 # crontab cron-backup.txt# crontab -lMAIL=rahul0 2 * * * /script/backup.sh

  作者:LeeLom

上一篇 Mybatis中二级缓冲的设置步骤
下一篇 【Java】Dubbo+zookeeper搭建分布式服务框架

文章素材均来源于网络,如有侵权,请联系管理员删除。