Linux 之 crontab 使用

作者:星火燎原智勇

链接:https://www.cnblogs.com/liang1101/p/7988671.html


定时任务


任务调度的crond常驻命令


crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:


1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存

2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。


 分钟  小时  天数  月数  周数 
 minute  hour  day  month  week 

每个字段代表的含义如下


Minute          每个小时的第几分钟执行该任务
Hour            每天的第几个小时执行该任务
Day             每月的第几天执行该任务
Month           每年的第几个月执行该任务
DayOfWeek       每周的第几天执行该任务


对于程序员来说最关注的莫过于使用示例,通过示例可以一目了然的掌握如何使用定时任务

注意:在 crontab 命令中只有 “绝对路径”,不存在相对路径,故执行任何命令都需要写绝对路径


1、每小时的第5分钟执行 ls 命令


* * * * ls

2、每5分钟执行 ls 命令


*/5 * * * * ls

3、每天的 4:30 执行 ls 命令


30 4 * * * ls

4、每小时执行 ls 命令


* * * * ls


5、每天执行 ls 命令


0 0 * * * ls

6、每周执行 ls 命令


0 0 * * 0 ls

7、每年执行 ls 命令


0 0 1 1 * ls

8、每月 8号 的 7:20 执行 ls 命令


20 7 8 * * ls

9、每年的 6月28号 5:30 执行 ls 命令


30 5 28 6 * ls

10、每星期日的 6:30 执行 ls 命令


30 6 * * 0 ls


注意:0 表示星期天, 1 表示星期一,以此类推;也可以用英文来表示,sun 表示星期天,mon 表示星期一等。


11、每月 10号和20号 的 4:30 执行 ls 命令


30 4 10,20 * * ls


注意:" , " 用来连接多个不连续的时间


12、每天 8~11点 的第 25 分钟执行 ls 命令


25 8-11 * * * ls


注意:" - " 用来连接连续的时间


13、每个月中每隔 10天 的 5:30 执行 ls 命令


30 5 */10 * * ls


即:每月的 1、11、21、31日 在 5:30 执行一次 ls 命令


14、每天 4:30 以 root 身份执行 /etc/cron.daily 目录中的所有可执行文件


30 4 * * * root run-parts /etc/cron.daily

15、真实使用中,一般都是执行自己的可执行文件


0 * * * * cd /data/sync-data/mdd;/data/GoProjects/bin/go-elastic-index -config=mdd.toml >> mdd.log 2>&1


上面命令译为:每小时执行一次,首先通过 cd 命令进入到指定绝对目录下,之后使用绝对路径找到可执行文件正常执行即可。对应的 mdd.toml 和 mdd.log 都是在 cd 到的目录下,此时就不需要全部写全目录了,如果不使用 cd 命令,最终的写法如下:


0 * * * * /data/GoProjects/bin/go-elastic-index -config=/data/sync-data/mdd/mdd.toml >> /data/sync-data/mdd/mdd.log 2>&1


最后命令


crontab -l        查看定时任务
crontab -l -u jp  列出用户jp的所有调度任务
crontab -e        编辑定时任务
crontab -r        删除所有的定时任务


本文转载自【 Linux学习

公众号内回复“1”带你进粉丝群640?wx_fmt=gif&wx_lazy=1&&&&&&wxfrom=5&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux使用crontab服务来管理计划任务。crontab服务每隔一分钟会读取一次/var/spool/cron、/etc/crontab和/etc/cron.d目录下的所有内容,这些文件中存储了用户和系统的计划任务。用户可以使用crontab命令来创建、编辑和删除计划任务。该命令允许用户按照特定的时间间隔和时间点来执行命令或脚本。例如,用户可以设置一个计划任务在每天的特定时间运行,或者每隔一段时间运行一次。通过使用crontab服务,用户可以方便地控制和管理计划任务的执行。如果crontab突然失效,可以尝试使用/etc/init.d/crond restart命令来解决问题,同时也可以通过查看日志文件/var/log/cron来检查是否有某个任务执行失败或报错的情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Linux】 定时任务调度详解(crontab)](https://blog.csdn.net/weixin_65690979/article/details/126176083)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux命令·crontab](https://blog.csdn.net/m0_64560763/article/details/130048507)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值