Linux 定时任务之cron job
cron作业是Linux系统中专门提供的定时任务服务工具。cron作业支持具体时间点包括每天的0点开始以及每隔多少分钟进行定时任务完成与日常安排计划工作等操作。
语法:crontab [-u username] [-l] [-r] [-e]
1. -u: 指定crontab job的用户
2. -l: 列出当前crontab的job
用于编辑cron表单作业的命令通常是-e。通过默认设置会调用nano编辑器。允许用户通过环境变量EDITOR指定不同的编辑器,默认配置会调用vim。例如将EDITOR环境变量设置为/usr/bin/vim即可实现使用vim编辑
4. -r: 删除当前crontab job
使用crontab file来编辑cron job是个不错的选择,
文件格式:
每行对应一个cron job;
每一行分为6个部分,用空格分开,同一个部分有需要的话用逗号分开;
minute hour day_of_month month weekday command
前5个域中,使用*,表示所有的时间点;
minute: 0-59
hour: 0-23, 0代表零点;
day_of_month: 1-31;
weekday: 0-6, 0代表星期天,1-6代表周一到周六;
command:需要执行的脚本或者命令;
举例:
test_cron.sh内容:
#!/bin/bash
echo date >> time.txt
编辑mycrontab文件:
-
-
-
-
- /home/udms/test_cron.sh
-
-
-
之后执行:crontab mycrontab 通知系统执行mycrontab定义的cron job
也可以直接执行:crontab -e编辑,直接输入 * * * * * /home/udms/test_cron.sh
注意:
1. 0 6 * * * command ,表示每天早上6点钟执行命令;
2. 0 */2 8 * * command,表示每两个小时执行一次命令;
3. 0 11 4 * 1-3 command,表示每个月的4号,和每周的周一到周三的早上11点执行命令;
4. 0 4 1 1 * command, 表示1月1号早上4点执行命令;
/:表示频率;
-:表示范围;
#:注释符号;
