感谢支持
我们一直在努力

Ubuntu crontab 不执行的解决方法

在脚本文件的第二行添加下面一句即可


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


下面是分析解决问题的步骤:


1.不执行的原因是环境变量引起的


2.目前没有找到配置cron的默认环境变量配置方法


     vim /etc/crontab 可以看到这个文件里的环境变量是正确的


3. * * * * * /root/test.sh >ifconfig.txt 2>&1 & 每分钟执行一次test.sh


test.sh的内容如下,可以看到输出结果环境变量是 /usr/bin:/bin


#!/bin/bash


#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


ifconfig


echo $PATH


输出:


/root/test.sh: line 3: ifconfig: command not found


/usr/bin:/bin


4.查看ifconfig的位置


root@Ubuntu:~# whereis ifconfig


ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz


5.把test.sh脚本的第二行注释掉可以看到输出结果如下


eth0      Link encap:Ethernet  HWaddr aa:00:04:00:0a:04 


          inet addr:192.168.1.60  Bcast:0.0.0.0  Mask:255.255.255.0


          inet6 addr: fe80::20c:29ff:fef8:73b6/64 Scope:Link


          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1


          RX packets:2093659 errors:0 dropped:0 overruns:0 frame:0


          TX packets:1532815 errors:0 dropped:0 overruns:0 carrier:0


          collisions:0 txqueuelen:1000


          RX bytes:519122457 (519.1 MB)  TX bytes:447226592 (447.2 MB)


 


lo        Link encap:Local Loopback 


          inet addr:127.0.0.1  Mask:255.0.0.0


          inet6 addr: ::1/128 Scope:Host


          UP LOOPBACK RUNNING  MTU:16436  Metric:1


          RX packets:433596 errors:0 dropped:0 overruns:0 frame:0


          TX packets:433596 errors:0 dropped:0 overruns:0 carrier:0


          collisions:0 txqueuelen:0


          RX bytes:23228192 (23.2 MB)  TX bytes:23228192 (23.2 MB)


/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


6.test.sh脚本只是临时改变了PATH的值,它只在当前脚本生效

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu crontab 不执行的解决方法
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏