解决ubuntu crontab不执行的方法
解决ubuntu crontab不执行的方法
发布时间:2016-12-27 来源:查字典编辑
摘要:在脚本文件的第二行添加下面一句即可PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/s...

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

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的位置

<a href="mailto:root@ubuntu">root@ubuntu</a>:~# 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)</p> <p> /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Ubuntu/Debian学习
热门Ubuntu/Debian学习
操作系统子分类