[已解决]写了个脚本,cron里运行不了,但可以手动运行

sh/bash/dash/ksh/zsh等Shell脚本
回复
aocif32
帖子: 15
注册时间: 2016-03-12 12:36

[已解决]写了个脚本,cron里运行不了,但可以手动运行

#1

帖子 aocif32 » 2018-05-16 17:40

cron服务已经在运行中,其它cron任务也能正常运行,就这个脚本运行不了

如果手动在终端里运行
/home/user/test.sh
就正常

请问哪里有问题呢?

解决了:第一行改为#!/bin/bash
参考:http://blog.sina.com.cn/s/blog_6bd162c10101jzxg.html
上次由 aocif32 在 2018-05-22 21:20,总共编辑 3 次。
头像
comero
帖子: 21
注册时间: 2016-09-15 9:30
来自: 浙江省杭州市

Re: 写了个录直播的脚本,cron里运行不了,但可以手动运行

#2

帖子 comero » 2018-05-16 17:57

看过日志吗?一般都会有记录吧
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: 写了个录直播的脚本,cron里运行不了,但可以手动运行

#3

帖子 astolia » 2018-05-16 19:34

出错估计是环境变量的问题。
cron环境下环境变量只有最基本的几个,HOME,LOGNAME,PATH,LANG,SHELL,PWD
PATH是/usr/bin:/bin,SHELL是/bin/sh
如果那个streamlink依赖其他的环境变量,或者需要SHELL是bash,或者需要PATH包含其他路径比如/usr/local/bin,那就会出错
aocif32
帖子: 15
注册时间: 2016-03-12 12:36

Re: 写了个录直播的脚本,cron里运行不了,但可以手动运行

#4

帖子 aocif32 » 2018-05-16 20:32

astolia 写了:出错估计是环境变量的问题。
cron环境下环境变量只有最基本的几个,HOME,LOGNAME,PATH,LANG,SHELL,PWD
PATH是/usr/bin:/bin,SHELL是/bin/sh
如果那个streamlink依赖其他的环境变量,或者需要SHELL是bash,或者需要PATH包含其他路径比如/usr/local/bin,那就会出错
经一楼提醒,排查后,原来是脚本第一行的问题,
参考:http://blog.sina.com.cn/s/blog_6bd162c10101jzxg.html
aocif32
帖子: 15
注册时间: 2016-03-12 12:36

Re: 写了个录直播的脚本,cron里运行不了,但可以手动运行

#5

帖子 aocif32 » 2018-05-16 20:33

comero 写了:看过日志吗?一般都会有记录吧
多谢提醒,排查后是脚本问题
aocif32
帖子: 15
注册时间: 2016-03-12 12:36

Re: [已解决]写了个录直播的脚本,cron里运行不了,但可以手动运行

#6

帖子 aocif32 » 2018-05-16 20:51

网上找的排查方法
cron设置
*/2 * * * * /home/user/test.sh aa >> /tmp/cron.log 2>&1
终端运行
tail -f /tmp/cron.log

https://askubuntu.com/questions/874459/ ... y-terminal
回复