为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 cron 作业不编译 python 文件?

为什么 cron 作业不编译 python 文件?

吃鸡游戏 2022-11-01 15:55:14
Cron 不编译我的 .py 文件,我无法从 Cron 收到电子邮件以了解 Cron 为何不起作用。~/t/test.sh但是,如果我只是在终端中运行命令,一切正常。cron中的代码:SHELL=/bin/bashMAILTO=mymail@gmail.com30 0-23 1-31 1-12 0-6 ~/t/test.sh我想运行一个test.sh包含以下代码的脚本:#!/bin/bashcd /home/alex/t && python3.8 ./test.py中的代码test.py:from datetime import datetimecurrent_time = datetime.now()f = open("text.txt", 'w+')f.write("Hello world! Now is {0}\n".format(current_time))f.close()sudo crontab-e我通过andcrontab-e命令启动了 Cron 。我把 Cron 放在第一行MAILTO=mymail@gmail.com。我安装了yum install mailx. 我尝试将命令添加>/dev/null 2>&1到 Cron,即编写 * * * * * ~/t/test.sh >/dev/null 2>&1 Nothing help I Use Ubuntu 18.04 Python3.8.2 以下是grep CRON /var/log/syslog命令日志显示的内容:Apr 30 15:35:01 av CRON[2130]: (alex) CMD (~/t/test.sh)Apr 30 15:35:01 av CRON[2129]: (alex) MAIL (mailer 68 bytes of output put get status 0x004b from MTA#012)有没有人遇到过这个问题?你能帮我吗?
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

你的 test.sh 应该是这样的:(需要完整路径)

#!/bin/bash
/"location where python is installed"/python/bin/python /home/alex/t/test.py


查看完整回答
反对 回复 2022-11-01
?
萧十郎

TA贡献1815条经验 获得超13个赞

代码中最薄弱的环节是调用 Python 3.8 解释器时没有完整路径。您使用完整的绝对路径调用 bash,cd 到绝对路径,并通过您 cd 编辑到的目录的路径访问您的脚本。只有 Python 假设 PATH 环境变量中存在一些目录。

尝试通过其位置的完整路径访问 Python 3.8。


查看完整回答
反对 回复 2022-11-01
  • 2 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信