侧边栏壁纸
  • 累计撰写 5 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

ubuntu系统crontab命令备忘

Samaritan
2024-06-25 / 0 评论 / 0 点赞 / 9 阅读 / 3318 字

crontab是 Unix和类Unix操作系统中的一个命令,它用于设置定时任务(即 cron job)。这些定时任务会在预定的时间自动执行,适用于自动化系统维护和管理任务,例如定期备份、发送邮件通知等。

基本语法

crontab -e:编辑当前用户的 crontab 文件。

crontab -l:列出当前用户的 crontab 文件中的任务。

crontab -r:删除当前用户的 crontab 文件。

crontab -i -r:在删除当前用户的 crontab 文件前进行确认。

crontab 文件格式

crontab 文件的每一行定义一个任务,每行包含六个字段

格式

* * * * * command_to_be_executed

每个字段的含义

每个字段用空格或制表符分隔:

1. 分钟 (0 - 59)

2. 小时 (0 - 23)

3. 日期 (1 - 31)

4. 月份 (1 - 12)

5. 星期几 (0 - 7)(0 和 7 都表示星期日)

6. 要执行的命令

字段的特殊符号

  • *:代表任何时间。

  • ,:分隔多个值。

  • -:表示时间范围。

  • /:表示步长,例如 */5 表示每 5 分钟。

示例

  1. 每小时的第 0 分钟执行脚本 /path/to/script.sh

0 * * * * /path/to/script.sh
  1. 每天凌晨 2 点执行脚本 /path/to/backup.sh

0 2 * * * /path/to/backup.sh
  1. 每周一到周五的上午 8 点到下午 5 点之间,每小时的第 30 分钟执行脚本 /path/to/report.sh

30 8-17 * * 1-5 /path/to/report.sh
  1. 每个月的 1 号和 15 号的凌晨 3 点执行脚本 /path/to/cleanup.sh

0 3 1,15 * * /path/to/cleanup.sh
  1. 每 10 分钟执行一次脚本 /path/to/check.sh

*/10 * * * * /path/to/check.sh

编辑crontab文件

使用 crontab -e 命令打开当前用户的 crontab 文件。在文件中添加或编辑任务后,保存文件并退出编辑器,任务会自动生效。

环境变量

crontab 任务默认使用 /bin/sh 来运行,您可以在 crontab 文件中设置环境变量:

SHELL=/bin/bash

PATH=/usr/local/bin:/usr/bin:/bin

日志

cron 作业的输出(标准输出和标准错误)默认会通过邮件发送给当前用户。如果需要将输出重定向到文件,可以在命令末尾添加重定向符号:

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

管理其他用户的 crontab

使用 sudo 来编辑、列出或删除其他用户的crontab:

  • sudo crontab -u username -e:编辑指定用户的 crontab 文件。

  • sudo crontab -u username -l:列出指定用户的 crontab 文件中的任务。

  • sudo crontab -u username -r:删除指定用户的 crontab 文件。

0

评论区