Crontab
Crontab 是一个用于周期性执行任务的工具,可以在固定的时间、日期、间隔等条件下执行指定的命令或脚本。Crontab 是 Linux 系统中的一个重要工具,可以用于定时备份、定时清理、定时监控等任务。
Crontab 语法
Crontab 的语法格式如下:
shell
# ┌───────────── 分钟(0 - 59)
# │ ┌───────────── 小时(0 - 23)
# │ │ ┌───────────── 日期(1 - 31)
# │ │ │ ┌───────────── 月份(1 - 12)
# │ │ │ │ ┌───────────── 星期(0 - 7,0 和 7 都代表星期天)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * command*:代表任意值,比如*代表每分钟、每小时、每天、每月、每周,:代表分隔符,比如1,3,5代表 1、3、5-:代表范围,比如1-5代表 1 到 5/:代表步长,比如*/2代表每 20代表星期天,7也代表星期天command:代表要执行的命令或脚本
Crontab 命令
查看 Crontab 任务
shell
sudo crontab -l编辑 Crontab 任务
shell
sudo crontab -e删除所有 Crontab 任务
shell
sudo crontab -rTIP
如果仅要删除一个任务,可以使用 sudo crontab -e 命令编辑 Crontab 任务,然后删除对应的任务即可。
为其他用户添加 Crontab 任务
shell
sudo crontab -u username -eTIP
username 为要添加任务的用户名。
启动 Crontab 服务
shell
sudo service cron start停止 Crontab 服务
shell
sudo service cron stop重启 Crontab 服务
shell
sudo service cron restart查看 Crontab 服务状态
shell
sudo service cron status查看 Crontab 日志
shell
sudo grep CRON /var/log/syslogCrontab 示例
每天凌晨 2 点执行备份脚本
shell
0 2 * * * /bin/bash /path/to/backup.sh每周一凌晨 3 点执行清理脚本
shell
0 3 * * 1 /bin/bash /path/to/clean.sh定时拉取 Git 仓库
shell
1 */6 * * * '你的脚本地址' > '日志文件地址' 2>&1