MacOS下launchd调度Python脚本连接MariaDB失败求助
问题求助:Mac下launchd调度Python脚本无法连接远程MariaDB
我是新手,现在遇到一个问题:我在Mac上用launchd调度Python脚本,脚本功能是本地采集文件数据后插入远程MariaDB。手动运行脚本完全正常,但通过launchd或cron调度时,脚本能生成日志、导入依赖,却无法连接远程数据库,报错信息如下:
2024-12-04 08:55:00 -- PROCESS START - connecting to database 2024-12-04 08:55:00 -- Error: Can't connect to server on '192.168.1.3' (65) 2024-12-04 08:55:00 -- PROCESS END - terminating
环境信息
- 系统:Intel Mac 15.1.1
- Python:3.12(通过BREW安装)
- MariaDB连接器:通过PIP3安装
排查情况
测试过nc命令能连通数据库端口,但更换无效IP后仍报相同错误,怀疑是Python的MariaDB连接器存在问题,求指导。
Python连接代码
try: conn = mariadb.connect( user="user", password="password", host="192.168.1.3", port=3306, database="my_database" ) except mariadb.Error as e: print(f"Error: {e}") errorText = f"Error: {e}" log_write(errorText)
launchd的plist配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.ccg.launchphotofileminer</string> <key>ProgramArguments</key> <array> <string>/Users/ccg/MyLaunchAgents/launch-photo-miner</string> </array> <key>Nice</key> <integer>1</integer> <key>StartCalendarInterval</key> <dict> <key>Minute</key> <integer>55</integer> </dict> <key>RunAtLoad</key> <false/> <key>WorkingDirectory</key> <string>/Users/ccg/MyLaunchAgents</string> <key>StandardErrorPath</key> <string>/Users/ccg/MyLaunchAgents/photofileminer.err</string> <key>StandardOutPath</key> <string>/Users/ccg/MyLaunchAgents/photofileminer.out</string> </dict> </plist>
启动bash脚本
source /Users/ccg/.venv/bin/activate cd /Users/ccg/MyLaunchAgents /Users/ccg/.venv/bin/python3 > /Users/ccg/MyLaunchAgents/photo.log 2>&1photo-file-miner.py
内容的提问来源于stack exchange,提问作者GascanTX
相关产品推荐
相关产品推荐

