📅  最后修改于: 2023-12-03 15:00:03.872000             🧑  作者: Mango
Cronjob 是一种 Linux/Unix 系统上的定时任务管理工具,它能够帮助程序员定时执行一些重复性或定期性的任务,例如备份、定时清理或者数据同步等等。以下是一个 Cronjob 示例:
# 分 时 日 月 周 命令
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 的格式如下:
***** 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 命令。