Linux 周期性计划任务之crontab

  • crontab命令介绍
  • 按照预先设置的时间周期(分钟、小时、天…)重复执行用户指定的命令操作

  • 属于周期性计划任务

  • 主要设置文件: 全局配置文件负责调度各种管理和维护任务:/etc/crontab

    ​ 系统默认的设置,位于目录:/etc/cron.d/

    ​ 用户定义的设置,位于文件:/var/spool/cron/用户名

  • crontab命令选项
crontab [-u username]   ##如果不使用选项-u指定用户则表示对当前用户进行操作
         -e  编辑计划任务
         -l  显示计划任务列表
         -r  删除所有计划任务  ##如果是root用户下执行该选项则会删除全部计划任务
  • crontab命令设置格式
# 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
例:0 17 * * 1-5   含义:周一到周五每天17:00
字段说明
分钟取值为从0到59之间的任意整数
小时取值为0到23之间的任意整数
日期取值为1到31之间的任意整数
月份取值为1到12之间的任意整数
星期取值为从0到7之间的任意整数,0或7代表星期日
命令要执行的命令或程序脚本
  • 时间数值的特殊表示方法

    *表示该范围内的任意时间
    ,表示间隔的多个不连续时间点
    -表示一个连续的时间范围
    /指定间隔的时间频率
  • 设置实例:

    每天下午16:00将messages日志拷贝到/root目录下

    [root@localhost ~]# crontab -e   ##创建周期性计划任务
    [root@localhost ~]# crontab -l   ##查看计划任务列表
    15 16 * * * cp /var/log/messages /root
    到16:00后我们查看一下/root目录下是否有messages文件
    [root@localhost ~]# ls /root   ##列出root目录下所有文件
    anaconda-ks.cfg  messages
    
  • 【思考】:crontab -e 与 /etc/crontab 同样是编辑计划任务,两者之间的区别是什么?

    /etc/crontab 只能由root用户才能修改,普通用户没有权限

    crontab -e 所有用户都可以执行该命令,计划任务会写入 /var/spool/cron/用户名

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值