linux中定时任务执行代码的时候,在定时任务里环境变量不起作用,导致代码执行错误,找不到命令
·
linux中定时任务执行代码的时候,环境变量不起作用(不是root账号,没有继承root的环境变量,导致代码执行错误,找不到命令)
1 这是我配置的定时任务,每分钟执行一次 php命令,这个命令里面会用到ffmpeg处理视频(ffmpeg命令执行时没有带绝对路径,导致提示命令不存在,其实环境变量是配置过的,但是环境变量不起作用。可在定时任务后面加上>> /tmp/cron_debug.log 2>&1,就能在日志文件tmp/cron_debug.log中看到报错信息 )


2 可在定时任务中配置 * * * * * env > /tmp/cron_env.log 将配置文件(包括环境变量)输出到/tmp/cron_env.log文件中,查看有没有环境变量
3 解决:在定时任务中手动添加环境变量 PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/php/bin:/usr/local/bin:/usr/local/conda/bin:/usr/local/ffmpeg6/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin 后成功执行

4 分析:查看/tmp/cron_env.log文件已经有了环境变量,所以执行成功了

更多推荐



所有评论(0)