由cron启动的.sh不通过python创建文件
我有一个启动python文件的.sh。此python文件在通过sudo命令行启动时生成.txt,但在通过.sh启动时不会生成 为什么pyhton文件在以cron和.sh开头时不给我一个.txt 当我使用由cron启动的.sh不通过python创建文件,python,shell,cron,Python,Shell,Cron,我有一个启动python文件的.sh。此python文件在通过sudo命令行启动时生成.txt,但在通过.sh启动时不会生成 为什么pyhton文件在以cron和.sh开头时不给我一个.txt 当我使用su-c“python/var/www/html/readdht.py>/var/www/html/dhtdata.txt”2>&1>/dev/null时,.sh给我输出,但省略了换行符,所以我得到一个大字符串 当从命令行使用sudo python readdht.py启动时,python文件将正
su-c“python/var/www/html/readdht.py>/var/www/html/dhtdata.txt”2>&1>/dev/null
时,.sh给我输出,但省略了换行符,所以我得到一个大字符串
当从命令行使用sudo python readdht.py
启动时,python文件将正确创建.txt
如果.sh文件以su-c“python/var/www/html/readdht.py
no.txt开头,则会创建python文件
发生了什么事?如果你的环境没有更多的色彩,很难回答 下面是解决这个问题的方法:不要将输出重定向到/dev/null。然后在cron日志中读取发生的情况。脚本很可能失败,因此不会将任何内容返回到标准输出,因此不会创建文件 我高度怀疑这是因为您使用的是加载到bashrc中的python模块、python版本或python路径。Crontab不执行bashrc,它是一个独立的环境,因此您不能假设手动启动时正确运行的脚本可以在cron中工作
尝试在cron任务中寻找bashrc,它很可能解决您的问题。如果您的环境没有更多颜色,很难回答 下面是解决这个问题的方法:不要将输出重定向到/dev/null。然后在cron日志中读取发生的情况。脚本很可能失败,因此不会将任何内容返回到标准输出,因此不会创建文件 我高度怀疑这是因为您使用的是加载到bashrc中的python模块、python版本或python路径。Crontab不执行bashrc,它是一个独立的环境,因此您不能假设手动启动时正确运行的脚本可以在cron中工作 尝试在cron任务中寻找bashrc,它很可能解决您的问题