📜  Linux 中的“crontab”示例(1)

📅  最后修改于: 2023-12-03 14:43:57.142000             🧑  作者: Mango

Linux中的"crontab"示例

什么是crontab?

在Linux中,crontab是一个可以在指定时间自动执行特定任务的工具。用户可以编写自己的任务列表,也可以管理其他用户的任务列表。crontab使用一套简单的命令格式,可以设置分钟、小时、日、月、周几等时间参数,非常灵活。

crontab命令格式
*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of the week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

以上是crontab命令的标准格式,其中每一列代表的含义为:

  • 分钟 (0 - 59)
  • 小时 (0 - 23)
  • (1 - 31)
  • (1 - 12)
  • 周几 (0 - 6)

通配符*代表"每个"的意思,例如* */2 * * *表示每2小时执行一次任务。各列参数还支持如下特殊字符:

  • 星号 代表"每个",例如0 * * * *表示每小时的0分钟执行一次任务。
  • 逗号 用于分隔多个值,例如1,15,30 * * * *表示1、15和30分钟各执行一次任务。
  • 减号 用于表示范围,例如1-10 * * * *表示每小时的1到10分钟都执行一次任务。
  • 正斜杠 用于设置步长,例如0 */2 * * *表示每两小时执行一次任务。
crontab使用示例

以下是一些crontab使用的示例:

  • 0 0 * * * /usr/local/bin/backup.sh 表示每天零点备份服务器数据。
  • * 23 * * * /usr/local/bin/cleanup.sh 表示每晚23点都执行一次清理脚本。
  • 0 * * * 1 /usr/local/bin/weekly-report.sh 表示每周一的0点生成一份周报告。
  • 0 0 1-7 * * /usr/local/bin/monthly-report.sh 表示每个月的前7天,每天的0点时生成一份月报告。
  • 0 0 * * 1-5 /usr/local/bin/daily-summary.sh 表示每个工作日的0点生成一份日总结报告。

在设置crontab时,建议使用crontab -e命令来编辑任务列表文件。此命令使用编辑器打开任务列表,可以避免在命令行中写出大量的代码。

总结

crontab是Linux中非常有用的命令行工具,可以帮助程序员自动化任务,提高工作效率。本文介绍了crontab的基本命令格式和使用示例,希望对大家有所帮助。