crontab定时任务
[root@master ~]
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
取值范围(常识):
分:0~59
时:0~23
日:1~31
月:1~12
周:0~6,0 和 7 表示星期天
四个符号:
*:表示取值范围中的每一个数字
-:做连续区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,例如:想每 10 分钟一次,则可以在分的位置写:*/10
,:表示多个取值,比如想在 1 点,2 点 6 点执行,则可以在时的位置写:1,2,6

1.写入计划任务
crontab -e
2.计划列表
crontab -l
3.crontab黑名单
crontab是任何用户都可以创建的计划任务,但是超级管理员可以通过配置来设置某些用户不允许设置计划任务 。
黑名单配置文件位于/etc/cron.deny里面写用户名,一行只能写一个
4.crontab白名单
白名单也有一个配置文件,/etc/cron.allow (本身不存在,自己创建)
注意:白名单优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默认允许创建计划任务。
5.以root用户给其他用户创建定时任务
crontab -u 其他用户名 -e
6.crontab中的定时任务有时候没有成功执行
看 /var/log/cron.log这个文件就可以,可以用 tail -f /var/log/cron 观察
练习:
问题1:每月1、10、22 日的4:45 重启network 服务
45 4 1,10,22 * * service network restart
问题2:每周六、周日的下午1:10 重启network 服务
10 1 * * 6,7 service network restart
问题3:每天18:00 至23:00 之间每隔30 分钟重启network 服务
*/30 18-23 * * * service network restart
问题4:每隔两天的上午8点到11点的第3和第15分钟执行一次重启network 服务
3,15 8-11 */2 * * service network restart
问题5 :每天凌晨整点重启network 服务
0 0 * * * service network restart
问题6:每周4的凌晨2点15分执行重启network 服务
15 2 * * 4
问题7:工作日的工作时间内的每小时整点执行重启network 服务
0 9-18 * * 1-5
问题8:每1分钟向文件里写入一句话"超哥666",且实时监测文件内容变化。
* * * * *
问题9:每天凌晨2点30,执行ntpdate命令同步ntp.aliyun.com,且不输出任何信息,把命令结果,重定向到黑洞文件
30 2 * * * ntpdate -u ntp.aliyun.com &> /dev/null
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性