crontab执行脚本
参考好文:https://www.cnblogs.com/intval/p/5763929.html
1:如何使用crontab执行定时脚本
crontab -e 打开个人的crontab配置文件,然后加入一下这行:
00 00 * * * /home/linrui/XXXXXXXX.sh
2:执行脚本的结果(脚本可能有标准输出 )存到那?
如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情。因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件/var/spool/mail/$user如果命令执行比较频繁(如每分钟一次),或者命令输出内容较多,会使这个邮件文件不断追加内容,文件越来越大。而邮件文件一般存放在根分区,根分区一般相对较小,所以会造成根分区写满而无法登录服务器。所以在添加crontab命令时,无论命令是否有输出,最好都加上输出重定向到文件或者/dev/null中。如下
*/5 * * * * /root/XXXX.sh &>/dev/null 2>&1
3:对于已经执行的命令或脚本有没有历史纪录?
有,存在/var/log/cron中
4:查看定时任务,在哪查看?
/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如yanglei建的crontab任务对应的文件就是/var/spool/cron/yanglei。
一般一个用户最多只有一个crontab文件。
5、创建cron脚本
第一步:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." >> xgmtest.txt 表示,每隔15分钟,执行打印一次命令
第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
6:crontab格式
| 代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
| 数字范围 | 0-59 | 0-23 | 1-31 | 1-12 | 0-7 | 呀就命令啊 |
注:(1)*代表任意时刻 (2),代表分割时刻 (3)-代表时间范围 (4)/n每隔n单位时刻

浙公网安备 33010602011771号