📜  crontab 仅工作日 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:07.438000             🧑  作者: Mango

crontab 仅工作日 - Shell-Bash

当我们需要在 Linux 上定时执行任务时,通常会使用 crontab。有时候,我们只想在工作日执行特定的任务,而不是在整个星期每天都执行。本文将介绍如何使用 crontab 仅在工作日运行脚本。

什么是 crontab?

Crontab 是一个 Linux 系统中的定时任务管理器。它允许用户在指定的时间或间隔内运行自动化脚本或命令。

如何设置 crontab 配置以仅在工作日运行脚本?

要运行一个仅在工作日运行的脚本,可以在 crontab 文件中使用 shell 条件语句。以下是一个示例:

# m h dom mon dow command
30 9 * * 1-5 [ $(date +\%w) -ne 0 ] && /path/to/script.sh >> /path/to/output.log 2>&1

在上面的示例中,我们指定了脚本在每天上午9:30运行,并使用条件语句来检查当前是不是周末。

[ $(date +\%w) -ne 0 ]表示如果当前日期的星期几代码不是0(即周日,日期的星期几代码为0),则执行脚本。条件语句使用方括号括起来,如果条件为真,则执行 && 后的命令。在本例中,如果条件为真,则运行 /path/to/script.sh 脚本,并将标准输出和标准错误输出重定向到 /path/to/output.log 文件中。

总结

在本文中,我们介绍了如何在 crontab 中设置仅在工作日运行的脚本。我们使用了 shell 条件语句来检查当前日期是否为工作日,并指定了脚本的运行时间和输出日志。这些技巧可以帮助您更有效地管理定时任务,节省时间和减少错误。