linux知识
linux知识
corntab
corntab表达式
crontab 表达式的基本格式如下:
minute hour day_of_month month day_of_week command
每个字段的含义和允许的值范围如下:
- minute (分钟): 0-59
- hour (小时): 0-23
- day_of_month (日): 1-31
- month (月): 1-12 或者可以使用月份的英文缩写(JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC),不区分大小写。
- day_of_week (星期): 0-7 或者可以使用星期几的英文缩写(SUN, MON, TUE, WED, THU, FRI, SAT),不区分大小写。其中 0 和 7 都代表星期日。
- command (要执行的命令): 这是实际要定期执行的命令或脚本的完整路径。
特殊字符
为了更灵活地定义执行时间,crontab 表达式还支持一些特殊的字符:
******* (星号)**: 表示该字段的所有可能值。例如,在 “minute” 字段使用*表示每分钟。,** (逗号)**: 用于分隔一个字段中的多个值。例如,“1,15,30” 在 “minute” 字段表示在每小时的第 1、15 和 30 分钟执行。-** (连字符)**: 用于指定一个值的范围。例如,“10-12” 在 “hour” 字段表示在每天的 10 点、11 点和 12 点执行。/** (斜线)**: 用于指定步长或间隔。例如,在 “minute” 字段使用*/15表示每 15 分钟执行一次(相当于 0,15,30,45)。又如,“0-23/2” 在 “hour” 字段表示每隔 2 小时执行一次(相当于 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22)。?** (问号)**: 在day_of_month和day_of_week字段中可以使用问号来表示“不确定”或“任意”。通常,如果你指定了day_of_month,你就不需要再指定day_of_week,反之亦然。使用?可以避免两者都指定时可能产生的冲突。例如,如果你希望每个月的 15 号执行某个任务,你可以在day_of_month字段写15,而在day_of_week字段使用?。L: 在day_of_month字段中,L表示该月的最后一天。例如,“0 0 L * *” 会在每个月的最后一天午夜执行。在day_of_week字段中,L可以和数字一起使用,表示该月的最后一个星期几。例如,“0 0 * * 5L” 表示在每个月的最后一个星期五午夜执行(5 代表星期五)。W: 在day_of_month字段中,W表示离指定日期最近的工作日(周一到周五)。例如,如果 “15W” 出现在day_of_month字段,并且 15 号是周六,那么任务会在 14 号(周五)执行;如果是周日,那么任务会在 16 号(周一)执行;如果是周一到周五,那么任务会在 15 号执行。如果W指定的日期是该月的第一个或最后一个非工作日,则W的行为可能不会跨越月份。#: 在day_of_week字段中,#用于指定该月的第几个星期几。格式是n#w,其中n是该月的第几周(1-5),w是星期几(0-7,0 或 7 是星期日,1 是星期一,以此类推)。例如,“0 0 * * 3#2” 表示在每个月的第二个星期二午夜执行(3 代表星期二,2 代表第二个)。
预定义的调度方案
为了方便使用,crontab 还支持一些预定义的调度方案,它们以 @ 符号开头:
@reboot: 在系统启动时执行一次。@yearly或@annually: 每年执行一次,相当于 “0 0 1 1 *”。@monthly: 每月执行一次,相当于 “0 0 1 * *”。@weekly: 每周执行一次,相当于 “0 0 * * 0”(或 “0 0 * * 7”)。@daily或@midnight: 每天执行一次,相当于 “0 0 * * *”。@hourly: 每小时执行一次,相当于 “0 * * * *”。
tee
将前面管道的输出输入到tee指令后面的文件中,可以指定多个文件
例子
echo $PATH | tee -a fileA.txt fileB.txt
解释
输出当前的环境变量,然后以追加的方式输出到文件a和文件b
例子
echo $PATH 2>$1 | tee -a fileA.txt fileB.txt
解释
将错误管道输出的内容重定向到标准输出管道中,然后再由tee追加输出到文件a和文件b
更新: 2025-10-23 21:48:45
原文: https://www.yuque.com/duifangzhengzaishuru-rqbua/axyc58/gxrhp76pwsoufnw1