📜  cronjob 示例 (1)

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

Cronjob 示例

Cronjob 是一种 Linux/Unix 系统上的定时任务管理工具,它能够帮助程序员定时执行一些重复性或定期性的任务,例如备份、定时清理或者数据同步等等。以下是一个 Cronjob 示例:

使用方法:
  1. 打开 Linux/Unix 的终端命令行工具;
  2. 输入命令 crontab -e 进入 Cronjob 编辑器;
  3. 在编辑器中,按照下面的示例输入任务,每个任务占一行;
  4. 保存任务并退出编辑器。
示例:每天定时备份 MySQL 数据库
# 分 时 日 月 周 命令
0 3 * * * /usr/local/bin/mysqldump -u [uname] -p[pass] dbname > /home/ubuntu/db_backup/db-backup-$(date +\%Y\%m\%d\%H\%M\%S).sql

上面的 Cronjob 任务会在每天的凌晨 3 点钟备份 MySQL 数据库,并将备份文件存在 /home/ubuntu/db_backup/ 目录下,文件名以日期时间格式命名,例如 db-backup-20210712030122.sql。

分析 Cronjob 任务

Cronjob 的格式如下:

***** command

其中 ***** 对应了时间参数,格式为:

*     *     *   *    *        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)

上面的示例中,时间参数为 0 3 * * *,这个参数的意思是每天的凌晨 3 点钟执行任务。

最后,注意上面的命令中 $(date +\%Y\%m\%d\%H\%M\%S) 的含义是在命令行中运行 date 命令生成日期时间格式,因为 Cronjob 中不能直接使用 Shell 命令,必须通过这种方式调用 Shell 命令。