Linux crontab 使用教程

Linux crontab 使用教程

简介

crontab 命令用于在类 Unix 操作系统上安排任务在特定时间或间隔运行。这些任务通常称为 cron jobs,由 cron 守护程序 (crond) 管理。

基本语法

# 普通用户

# 系统范围的

例如:30 2 * * * root /usr/bin/apt update

图解

* * * * *

- - - - -

| | | | |

| | | | +----- 星期中星期几 (0 - 6) (0是星期天)

| | | +---------- 月份 (1 - 12)

| | +--------------- 一个月中的第几天 (1 - 31)

| +-------------------- 小时 (0 - 23)

+------------------------- 分钟 (0 - 59)

# 单个 * 表示每分钟/小时/月 ...都要执行,以此类推

# 当 * 为:a-b,表示从第a分钟/小时/月 ... 到第b分钟/小时/月 ... 都要执行,以此类推

# 当 * 为:*/n,表示每n分钟/小时/月 ... 的时间间隔执行一次,以此推类

# 当 * 为a,b,c,... ,表示第a,b,c,... 分钟/小时/月 ... 执行,以此类推

字段解释

minute:命令运行的分钟数,取值范围:0-59

hour:命令运行的小时数,取值范围:0-23

day:命令运行的月份日期,取值范围:1-31

month:命令运行的月份,取值范围:1-12或jan-dec

weekday:星期几,取值范围:0-7或sun-sat

command:要执行的命令

预定义的字符串指令

@reboot:-,表示启动时运行一次

@yearly:0 0 1 1 * ,每年运行一次(1月1号0点)

@monthly:0 0 1 * * ,每月运行一次(1号0点)

@weekly:0 0 * * 0 ,每周日0点运行一次

@daily:0 0 * * * ,每天0点运行一次

@hourly:0 * * * * ,每小时运行一次

常用选项

查看当前的计划任务

crontab -l

编辑当前的计划任务

# 会启动环境变量配置的默认编辑器打开文件,例如:vim或nano

crontab -e

移除当前用户的所有计划任务

crontab -r

设置指定用户的计划任务

# 前提是要有此用户的权限

crontab -u

示例用法

每天凌晨 2:30 运行脚本

30 2 * * * /path/to/script.sh

每个星期五下午5点运行命令

0 17 * * 5 /path/to/command

每10分钟运行一次命令

*/10 * * * * /path/to/command

仅在1月和6月1号0点运行命令

0 0 1 1,6 * /path/to/command

每分钟执行一次命令

* * * * * /bin/ls

在12月内, 每天的早上6点到12点,每隔3个小时执行一次备份任务

0 6-12/3 * 12 * /usr/bin/backup

重定向输出到垃圾桶

0 0 * * * /path/to/script.sh > /dev/null 2>&1

输出记录到日志文件

0 0 * * * /path/to/script.sh >> /var/log/script.log 2>&1

查看 cron 日志

查看以下两个文件

/var/log/cron

/var/log/syslog

常见问题

环境变量的问题

权限问题

Copyright © 2088 神之射手基地-网游活动专题 All Rights Reserved.
友情链接