Linux教程

Linux 定时任务 crontab命令

本文主要是介绍Linux 定时任务 crontab命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • 查看crontab运行状态 service crond status
  • crontab 的默认执行路径为:当前用户的根路径
  • 所有命令需要写成绝对路径形式,如: /usr/local/bin/docker
  • crontab 命令常用选项及功能
    • -u :用来设定某个用户的 crontab 服务
    • -e :编辑某个用户的 crontab 文件内容,默认为当前用户
    • -l :显示某用户的 crontab 文件内容,默认为当前用户
    • -r :从 /var/spool/cron 删除某用户的 crontab 文件,默认为当前用户
    • -i :在删除用户的 crontab 文件时,给确认提示

vim /etc/crontab

修改 /etc/crontab 这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等

# 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

重启服务 /etc/init.d/crond restart


crontab -e

crontab -e 这种所有用户都可以使用,普通用户也只能为自己设置计划任务。然后自动写入 /var/spool/cron/usename

重启服务 service crond restart


特殊时间符号

  • *(星号):代表任何时间
  • ,(逗号):代表不连续的时间
  • -(中杠):代表连续的时间范围
  • /(正斜线):代表每隔多久执行一次

示例

* * * * * command           每分钟 执行一次 command
0 */2 * * * command         每两个小时 执行一次 command
12 10,14 * * * command      每天10:12、14:12 执行一次 command
0 0 10,20 * * command       每月10号和20号 执行一次 command
00 17 * * 1-5 command       每周一至周五17点钟 执行一次 command
30 12 */10 * * command      每月的1、11、21、31日是的12:30 执行一次 command

# 每隔五分钟 用env3_minute虚拟环境 执行 minute.py
*/5 * * * * /usr/local/virtualenvs/env3_minute/bin/python3    /usr/local/minute.py > /usr/local/log/minute.log
# 每天12:30、17:30 用env3_hour虚拟环境 执行 hour.py
30 12,17 * * * /usr/local/virtualenvs/env3_hour/bin/python3 /usr/local/hour.py > /usr/local/log/hour.log
这篇关于Linux 定时任务 crontab命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!