mosquitto_pub python 代码中的命令未在 crontab 中执行
mosquitto_pub command in python code not executing in crontab
我正在使用 Linux Debian、Mosquitto 1.3.5 和 Python 2.7.9 脚本。
如果我 运行 终端中的 Python 脚本(使用我在 crontab 中编写的相同命令),mosquitto_pub 命令将 运行。但它不会使用以下 cron 执行:
2,12,22,32,42,52 * * * * /usr/bin/python /home/user/ma.py
cron 将启动脚本并执行脚本的第一部分(将一些数据写入 csv 文件),但不执行 mosquitto_pub 命令。
我的 Python 脚本的一部分:
liv = str(190 + float(parser.data[157]))
try:
ssl = '/home/user/file.pem'
base = "mosquitto_pub -h host -p 8883 -t measures -q 2 --cafile " + ssl
epoch = datetime.utcfromtimestamp(0)
delta = datetime.strptime(dttime, "%Y-%m-%dT%H:%M:%SZ") - epoch
ds = delta.total_seconds()
mqttStr = base + " -m 'FILE_LL," + str(int(ds)) + ',' + liv + "'"
subprocess.Popen(mqttStr, shell=True)
except:
print "It was not possible to send your data via mqtt.", sys.exc_info()[0], datetime.utcnow()
我尝试使用 os.system、subprocess.call 和 subprocess.Popen,但命令没有启动。
在此先感谢您的帮助。
好的,我解决了 issue.I 必须使用 mosquitto_pub 的完整路径:
/usr/local/bin/mosquitto_pub
我正在使用 Linux Debian、Mosquitto 1.3.5 和 Python 2.7.9 脚本。
如果我 运行 终端中的 Python 脚本(使用我在 crontab 中编写的相同命令),mosquitto_pub 命令将 运行。但它不会使用以下 cron 执行:
2,12,22,32,42,52 * * * * /usr/bin/python /home/user/ma.py
cron 将启动脚本并执行脚本的第一部分(将一些数据写入 csv 文件),但不执行 mosquitto_pub 命令。
我的 Python 脚本的一部分:
liv = str(190 + float(parser.data[157]))
try:
ssl = '/home/user/file.pem'
base = "mosquitto_pub -h host -p 8883 -t measures -q 2 --cafile " + ssl
epoch = datetime.utcfromtimestamp(0)
delta = datetime.strptime(dttime, "%Y-%m-%dT%H:%M:%SZ") - epoch
ds = delta.total_seconds()
mqttStr = base + " -m 'FILE_LL," + str(int(ds)) + ',' + liv + "'"
subprocess.Popen(mqttStr, shell=True)
except:
print "It was not possible to send your data via mqtt.", sys.exc_info()[0], datetime.utcnow()
我尝试使用 os.system、subprocess.call 和 subprocess.Popen,但命令没有启动。
在此先感谢您的帮助。
好的,我解决了 issue.I 必须使用 mosquitto_pub 的完整路径:
/usr/local/bin/mosquitto_pub