1、crontab命令的常用参数
- crontab -e 编辑计划任务
- crontab -l 查看计划任务
- crontab -u zywqs -l 查看指定用户的计划任务
2、@reboot 表示重启时执行
@ /shells/xxx.sh
3、cron中的环境变量和bash 中的环境变量不一致,所以在写 cron 任务时,命令路径要求写全路径,或先在首部先定义PATH。用户的cron中默认 PATH=/usr/bin:/bin,如果使用其它路径,在任务文件的第一行加PATH=/path或者加入到计划任务执行的脚本中。
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/go/bin
SHELL=/bin/bash
* * * * * /shells/xxx.sh
4、cron 任务中的标准输入输出会发送邮件到用户邮箱,如果不想有邮件,则可以在定时任务中加上重定向到/dev/null
* * * * * sh xxx.sh &>/dev/null
5、cron任务中不建议使用%,它有特殊用途,它表示换行的特殊意义,且第一个%后的所有字符串会被将成当作命令的标准输入,如果在命令中要使用%,则需要用 \ 转义 注意:将%放置于单引号中是不支持的
30 2 * * * /bin/cp -a /etc/ /data/etc`date +\%F_\%T`
6、实现秒级计划任务
#!/bin/sh
PATH=/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
for i in {1..60};do
if [ $[$i%5] -eq 0 ];then
echo `date` >> /tmp/time.log
fi
sleep 1
done