crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
注:
-u user:用于设定某个用户的crontab,此参数一般由root来运行,不指定的默认情况下是当前登陆的用户
file:是命令文件的名字,表示file作为crontab的任务列表文件并载入crontab,若未指定将接受键盘上键入的命令
-e:进入当前用户的定时任务文件编辑模式
-l:显示当前用户的定时任务文件
-r:删除当前用户的crontab文件,也可-u删除指定用户的
-i:在删除用户crontab文件时给确认提示
星号(*):代表所有可能的值
逗号(,):可以用逗号隔开的值指定一个列表范围,eg:“1,3,5,7,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,eg:“1-5”,即表示"1,2,3,4,5"
正斜线(/):可以用正斜线指定时间的间隔频率,eg:"*/10"表示分钟的话即每十分钟执行一次
crontab的重定向
如果crontab命令有输出内容的话,该输出内容会以邮件的形式发送给用户,内容存储在邮件文件/var/spool/mail/$user中。另外,我们也知道crontab功能是在一定的时间间隔调度一些命令来执行,如果命令执行比较频繁,如一分钟执行一次,或者命令数据内容较多,会使这个邮件文件不断追加内容,文件越来越大。而邮件文件一般存放在根分区,根分区一般相对较小,所以会造成根分区写满而无法登录服务器。
*/5 * * * * /root/XXXX.sh & >/dev/null 2>&1
/dev/null 代表空设备文件
>代表重定向到哪里,例如:echo “123” > /home/123.txt
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
那么>/dev/null 2>&1的意思就是:
标准输出重定向到空设备文件,也就是不输出任何信息到终端,标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。