0%

Linux crontab命令

Linux crontab是用来定期执行程序的命令

linux任务调度的工作主要分为以下两类:

  1. 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
  2. 个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

crontab服务状态

1
2
3
4
5
sudo service crond start     #启动服务
sudo service crond stop #关闭服务
sudo service crond restart #重启服务
sudo service crond reload #重新载入配置
sudo service crond status #查看服务状态

语法

crontab [ -u user ] file 或 `crontab [ -u user ] { -l | -r | -e }

  • 查看crontab定时任务 crontab -l
  • 编辑定时任务【删除-添加-修改】 crontab -e

crontab配置文件位置

  • /var/spool/cron/ 该目录下存放的是每个用户(包括root)的crontab任务,文件名以用户名命名
  • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
  • /etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。

    crontab时间配置

    1
    2
    3
    4
    5
    6
    7
    # .---------------- 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