linux crontab中command not found错误解决方法

570 阅读1分钟

 平时我们在做自动化运维、任务管理时,如创建lnux 周期监控任务时,会使用crontab来完成。

eg: 每分钟执行/home/my-shell.sh

*/1 * * * * /bin/sh /home/my-shell.sh

但有时我们明明调试通过的脚步,放到crontab中执行,会遇到command not found的错误。这是因为我们调试时,执行环境是/bin/sh,而crontab的执行环境是默认环境变量

解决方法:

  1. 要么使用命令的绝对路劲(which查)

     如执行echo命令,通过which echo来获取echo的绝对路径,并在shell中使用绝对路径

  1. 在shell脚步中设置PATH环境变量
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin