在 Linux 中,定时任务通过 cron 服务来实现。Cron 是一种用于在特定时间运行命令的守护进程。
要创建一个定时任务,你需要使用 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)
这个表格中,第一列到第五列分别表示分钟、小时、日期、月份和星期几,用星号表示“每”。第六列为要执行的命令。
示例:
每天3点执行一个脚本:
0 3 * * * /path/to/my/script.sh
每天12:00-14:00 每10分钟访问一次url:
*/10 12,14 * * * curl https://test.com/
*/10
表示每10分钟执行一次12-14
表示在 12 点到 14 点之间执行
值得注意的是,当你修改 crontab 文件后,cron 服务不会立即生效,需要等待一段时间才能执行新的任务。你可以使用 systemctl restart cron
命令来重新加载 cron 服务
$ crontab -e
打开当前用户的 crontab 文件并在编辑器中编辑该文件。crontab 文件是一个文本文件,包含了定时任务的定义。通过 crontab 命令和选项,你可以创建、修改、删除和列出当前用户的 crontab 文件中的定时任务。
具体而言,crontab -e
命令可以执行以下操作:
- 如果用户没有 crontab 文件,将创建一个新的空文件。
- 如果用户已经有 crontab 文件,将会打开该文件,并且可以在文件中添加、编辑或删除定时任务。
- 当你保存并关闭编辑器时,crontab 命令会验证文件的格式和内容,如果存在错误或者格式不正确,将会提示你修改。
- 如果文件格式和内容正确,crontab 命令将会提交新的 crontab 文件,并将其加载到 cron 服务中,这样定时任务就会自动执行。
总之,crontab -e
命令是一个方便的方式,可以通过编辑器编辑定时任务文件,然后将其提交给 cron 服务执行。
新增一个 cron 任务
要新增一个 cron 任务,需要按照以下步骤进行操作:
1、打开终端或命令行界面。
2、输入 crontab -e
命令以编辑当前用户的 crontab 文件。
3、在编辑器中添加以下一行:(使用“i”)
*/10 13-14 * * * curl http://example.com/myscript.php
4、保存并关闭编辑器,提交新的 crontab 文件。(Esc, :wq)
5、验证任务是否已经正确添加,可以使用 crontab -l
命令列出当前用户的 crontab 文件中的任务。