这篇文章主要讲解了“如何解决ubuntu crontab不执行的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决ubuntu crontab不执行的问题”吧!
在脚本文件的第二行添加下面一句即可
代码如下:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
下面是分析解决问题的步骤:
不执行的原因是环境变量引起的
目前没有找到配置cron的默认环境变量配置方法
vim /etc/crontab 可以看到这个文件里的环境变量是正确的
* * * * * /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
查看ifconfig的位置
代码如下:
<a href="mailto:root@ubuntu">root@ubuntu</a>:~# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
把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)</p><p> /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
test.sh脚本只是临时改变了PATH的值,它只在当前脚本生效
感谢各位的阅读,以上就是“如何解决ubuntu crontab不执行的问题”的内容了,经过本文的学习后,相信大家对如何解决ubuntu crontab不执行的问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!