linux定时执行任务 crontab

crontab入口

在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面。按格式填入你的定时任务配置,ctrl+X 退出,选择保存,生成的文件名不要改,直接保存,由crontabl会去关联。

crontab -e 编辑
crontab -l 查看
crontab -r 删除
crontab -i -r 删除前确认

配置文件

cron在3个地方查找配置文件:
1. /var/spool/cron/
这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。
2. /etc/crontab
这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。
3. /etc/cron.d/
这个目录用来存放任何要执行的crontab文件或脚本。

配置格式

* * * * * command
分  时  日  月  周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

配置示例

每晚的21:30重启apache。
30 21 * * * /usr/local/etc/rc.d/lighttpd restart

每月1、10、22日的4:54分
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

每天早上6点10分
10 6 * * * date

每两个小时
0 */2 * * * date

晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date

1月份日早上4点
0 4 1 jan * date

注意%

如果用如果命令用到%的话需要用\转义

//backup mysql

00 01 * * * mysqldump -u root --password=passwd-d mustang > /root/backups/mustang_$(date +\%Y\%m\%d_\%H\%M\%S).sql
01 01 * * * mysqldump -u root --password=passwd-t mustang > /root/backups/mustang-table_$(date +\%Y\%m\%d_\%H\%M\%S).sql

发表评论

电子邮件地址不会被公开。 必填项已用*标注

😉😐😡😈🙂😯🙁🙄😛😳😮:mrgreen:😆💡😀👿😥😎😕