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

复制代码

代码如下:

<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的值,它只在当前脚本生效

(0)

相关推荐

  • linux crontab不执行问题解决方法

    linux crontab不执行问题排查 问题描述: 在CentOS上配置了一个crontab,想让它每天执行一次,配置语法没有问题,但是却查不到程序执行的log,所以程序就没有执行。 crontab ...

  • 如何解决Ubuntu 13.04系统托盘无法显示QQ的问题

    对于Ubuntu Unity 下找回系统托盘,只需要将程序纳入白名单中即可。 但是在Ubuntu 13.04 中,原本的方法行不通,因为配置文件中没有 com.canonical.Unity.Pane ...

  • ubuntu怎么开启root帐号 ubuntu 开启root帐号方法图解

    ubuntu怎么开启root帐号?ubuntu 的root账户具有最高的系统权限,它类似于windows系统中的管理员账号,但是比windows系统中管理员账号的权限更高,一般都情况下不要使用root ...

  • Centos下crontab指定执行用户

    Centos下可以通过配置crontab来定时执行任务,执行体可以是一条系统命令或自己写的一个脚本,同时可以指派用户来执行.配置crontab有两种方法.方法1.使用crontab命令,例如添加一个新 ...

  • 如何在ubuntu下安装wine?在ubuntu下安装wine的方法

    wine,我每次安装ubuntu的时候都会装它,因为很多时候,它可以让我们的使用其他平台的软件,那么如何安装wine呢?下面小编要为大家带来在ubuntu下安装wine的方法!一起去看看吧! 以下是一 ...

  • 如何解决Ubuntu与Windows双系统时间不同步

    不知道有没朋友跟我一样是 Ubuntu 和 Windows 双系统?今天有朋友问到我,当他从 Ubuntu 系统重新启动到 Windows 时,会发现 Windows 中的时间变了,他问我有没办法修复 ...

  • 360快传上线失败是为什么?怎么办?解决360快传上线失败方法

    360快传上线失败是为什么,怎么办?下面小编带来了360快传上线失败解决方法,有用户表示360快传用不了,一直提示“上线失败”,这是怎么回事,怎么解决?想知道的朋友们请看下文的解决方法哦。 解决360 ...

  • 如何关闭数据执行保护(关闭数据执行保护方法)

    数据执行保护能够为广大的用户提供数据保密,使得数据不会被轻易的泄露。但是,数据执行保护功能还有许多缺陷,最重要的一点是会影响到用户某些程序的正常使用,这时将不得不关闭数据执行保护。关闭数据执行保护的方 ...

  • 解决Ubuntu启动时的Routine check检查时间过长

    Ubuntu 8.04启动时出现如下例程检查: Routine check of drives:/dev/sda10 Press ESC to skip 该例程检查时间较长,那么如何跳过呢? 本人总结 ...