一、前言:
linux中有两种定时任务,一种是一次性定时任务“at”,一种是周期性定时任务“cron”;这里写的是循环定时任务
用到的命令为crontab -e,它会把定时任务的内容写入到“/var/spool/cron/用户名”文件中;
每一个用户的定时任务都对应着一个文件,不建议用vim去直接编辑这个文件;
而每执行一次定时任务都会在“/var/log/cron”文件中进行记录;
二、命令格式
[root@localhost ~]# crontab [-u username] [-l|-e|-r]
选项与参数:
-u :只有 root 才能进行这个任务,即帮其他使用者建立/移除 crontab 工作任务;
-e :编辑 crontab 癿工作内容
-l :查阅 crontab 癿工作内容
-r :移除所有癿 crontab 癿工作内容,若仅要移除一项,请用 -e 去编辑
任务格式
* * * * * 命令
上面的有5个*和一个命令,分别代表以下意思
代表意义 分钟 小时 日期 月份 周 指令
数字范围 0-59 0-23 1-31 1-12 0-7 指令
注意:比较有特殊的是那个『周』!周的数字0和7,都代表『星期天』的意思!
另外还有一些特殊字符:
*(星号):代表“所有”的意思
,(逗号):代表“和”的意思,如3,6表示 3和6
-(减号):代表“到”的意思,一个范围,如2-5表示2到5
/n(斜线):代表“每隔”的意思,如:*/2 * * * * 命令 表示每间隔2分中执行一次
注意:每间隔2分也可以写成0-59/2 正如每2小时可以写成 */2和0-23/2
三、实例
实例1:每隔2分中在终端输出“hello”
[root@localhost ~]# crontab -e
*/2 * * * * echo "hello">/dev/pts/0
实例2:每天晚上凌晨执行/home/test.sh脚本
[root@localhost ~]# crontab -e
*/2 * * * * echo "hello">/dev/pts/0
59 23 * * * /home/test.sh
注意:每一个任务是一行