插件窝 干货文章 如何在crontab中添加新任务

如何在crontab中添加新任务

任务 crontab 使用 bash 954    来源:    2025-05-10

在 Linux/Unix 系统中,使用 crontab 添加新任务的步骤如下:


1. 编辑当前用户的 crontab 文件

crontab -e
  • 首次使用会提示选择编辑器(如 nanovim),建议选择熟悉的编辑器。
  • 若需为其他用户编辑(需权限),使用:sudo crontab -u username -e

2. 添加任务规则

在打开的文件中,每行一个任务,格式如下:

* * * * * /path/to/command arg1 arg2

或(指定用户运行时):

* * * * * username /path/to/command

时间字段解释(从左到右)

字段 含义 取值范围
1 分钟 0-59
2 小时 0-23
3 日期 1-31
4 月份 1-12
5 星期 0-7(0和7均为周日)

常用时间示例

  • */5 * * * * → 每 5 分钟
  • 0 3 * * * → 每天凌晨 3 点
  • 0 0 * * 0 → 每周日午夜
  • @reboot → 系统启动时运行(非标准 cron,部分系统支持)

3. 保存并退出

  • nanoCtrl+O 保存 → Ctrl+X 退出
  • vim:wq 保存退出

4. 验证任务

crontab -l  # 列出当前用户的所有 cron 任务

5. 其他实用命令

  • 删除所有任务crontab -r
  • 编辑系统级 crontab(需 root):sudo nano /etc/crontab

注意事项

  1. 环境变量问题:cron 默认使用精简环境变量,建议在命令中使用绝对路径,或在脚本中显式设置变量(如 PATH)。
  2. 日志查看:任务输出默认不会显示,可通过重定向日志: ```bash
            • /path/to/command >> /var/log/cron.log 2>&1 ```
  3. 权限问题:确保命令和脚本有可执行权限(chmod +x)。

示例:每天备份 MySQL 数据库

0 2 * * * /usr/bin/mysqldump -u root -pPASSWORD dbname > /backups/dbname_$(date +\%F).sql

通过以上步骤即可轻松管理计划任务!