linux定时任务

本文详细解析CronTab的使用方法,包括查看、新增、编辑用户及系统级任务,阐述了CronTab的基本格式与符号意义,以及如何通过crond服务实现任务调度。适合系统管理员和自动化运维人员阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前用户任务
  • 查看当前用户任务,crontab -l
    • 新增任务, crontab -e
    • 规则
       # crontab基本格式
       # +---------------- minute  分钟(0 - 59)
       # |  +------------- hour    小时(0 - 23)
       # |  |  +---------- day     日期(1 - 31)
       # |  |  |  +------- month   月份(1 - 12)
       # |  |  |  |  +---- week    星期(0 - 7) (星期天=0 or 7)
       # |  |  |  |  |
       # *  *  *  *  * command
      
      几个要注意的符号
       "*"  any的意思
       ","  or的意思
       "-"  表示范围
       "/"   每隔n个单位.
       如, 8和9期间每隔5分钟执行一次任务:
       */5 8,9 * * *    或
       */5 8-9 * * *
      
      • 生效, cron服务每分钟检测一次,因此,修改完后一分钟生效
      • p.s 如果是root用户, 可以看到, crontab -e 内容在 /var/spoon/cron/root 里
系统任务, 需要root身份
  • 新增任务, vi /etc/crontab, /etc/crontab内容:
#使用何种shell接口
SHELL=/bin/bash
#执行文件路径
PATH=/sbin:/bin:/usr/sbin:/usr/bin
#有输出时,以email将数据推送给谁
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
  • 规则: 与用户任务基本相同, 不同的是,在 执行周期和commad之间需要指定用户身份.

  • 如果需要手动生效,可以使用 service crond reloadservice crond restart

  • 其他

/etc/cron.deny :不允许使用crontab命令的用户。 
/etc/cron.allow :允许使用crontab命令的用户。 
/var/spool/cron :所有用户的crontab命令存放位置。
/var/log/cron    : 已运行的任务
  • crontab 与 crond , crond 是实际执行定时指令的程序或服务. crontab 则是用来设置需要定时执行的命令的指令. 不要混淆误解了.
  • p.s 实际上的cron表达式还包含了,秒,年,L(last最后,用在日期或星期),?(日期和星期互斥占位),#(星期如3#2,第二周的第三天)等符号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值