1、问题
最近在做python项目,每天晚上要重启rabbitmq manager, 于是我加了定时任务执行,
*/2 * * * * /Data/apps/python3.7/bin/python3.7 /Data/apps/cat/user/crontab/importuserfromldap.py >> /tmp/crontab.log 2>&1
*/3 * * * * /bin/bash /Data/apps/cat/cat/libs/RabbitMQ/manager.sh restart >> /tmp/crontab.log 2>&1
到了执行时间发现日志报错
Traceback (most recent call last):
File "/Data/apps/python3.7/lib/python3.7/logging/config.py", line 384, in resolve
found = self.importer(used)
File "/Data/apps/python3.7/lib/python3.7/site-packages/raven/__init__.py", line 49, in <module>
from raven.base import * # NOQA
File "/Data/apps/python3.7/lib/python3.7/site-packages/raven/base.py", line 37, in <module>
from raven.conf.remote import RemoteConfig
File "/Data/apps/python3.7/lib/python3.7/site-packages/raven/conf/remote.py", line 36, in <module>
DEFAULT_TRANSPORT = discover_default_transport()
File "/Data/apps/python3.7/lib/python3.7/site-packages/raven/conf/remote.py", line 18, in discover_default_transport
from raven.transport.threaded import ThreadedHTTPTransport
File "/Data/apps/python3.7/lib/python3.7/site-packages/raven/transport/__init__.py", line 13, in <module>
from raven.transport.eventlet import * # NOQA
File "/Data/apps/python3.7/lib/python3.7/site-packages/raven/transport/eventlet.py", line 12, in <module>
File "/Data/apps/python3.7/lib/python3.7/site-packages/raven/utils/http.py", line 11, in <module>
import ssl
File "/Data/apps/python3.7/lib/python3.7/ssl.py", line 98, in <module>
import _ssl # if we can't import it, let the error propagate
ImportError: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
命令行执行,这个脚本,没问题,而且so库文件也存在,纳闷。
2、解决
原来由于python 3.7之后,crontab感知不到相关的环境变量,需要手动导入下环境变量
*/2 * * * * source /etc/profile;/Data/apps/python3.7/bin/python3.7 /Data/apps/cat/user/crontab/importuserfromldap.py >> /tmp/crontab.log 2>&1
顺利解决!