【发布时间】:2016-08-26 19:42:10
【问题描述】:
我制作了一个脚本,它使用 mysqldp 和 python 将数据保存到 Mysql 数据库。当我从控制台(python myscript.py)运行脚本时,它可以工作,但是当我使用 Crontab 在重新启动时运行它时,我收到一封包含以下错误的电子邮件:
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
当我尝试使用 Crontab 而不是在重新启动时运行脚本时,但随着时间的推移,我没有收到以下错误。
也许你有一些想法?
如果我用while(1) 循环一次又一次地调用同一个脚本会怎样(每次都会启动新的后台任务)?
【问题讨论】:
-
您使用哪个 crontab 来运行命令?通常你必须是 root 才能重新启动 mysqld。
-
那是我使用的crontabPATH=/home/pi/Documents/stafor:/usr/bin:/var/run/mysql MAILTO=antons.osadchijs@gmail.com @reboot /usr/bin /python /home/pi/Documents/stafor/data.py
-
可能在脚本运行时 MySQL 守护进程尚未启动。
-
@AntonOsadchy 我不是指 crontab 规则,而是运行 crontab 的用户。
-
嗯,我完全没有指定它。你知道我怎样才能检查出来吗?