微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建systemd服务和自动创建环境

代码

#!/bin/bash

workdir=`cd "$(dirname "$0")";pwd`
venv_dir=venv
tuna=https://pypi.tuna.tsinghua.edu.cn/simple
azkaban=/usr/lib/systemd/system/azkaban.service


if ! [ -x "$(command -v python3)" ]; then echo "There is no python3." exit 1; fi
if ! [ -x "$(command -v pip3)" ]; then echo "There is no pip3." exit 1; fi

cd $workdir

# 创建虚拟环境。
if ! [ -d $venv ]; then
    if ! $(python -c "import virtualenv"); then pip3 install -i $tuna virtualenv ; fi
fi
virtualenv venv
source venv/bin/activate
pip install -i $tuna -r requirements.txt && deactivate

systemctl status azkaban &>/dev/null

if [ $? -eq 0 ]; then systemctl stop azkaban; fi

cat > $azkaban << EOF 
[Unit]
Description=Azkaban Python Api
After=syslog.target

[Service]
User=root
Group=root
WorkingDirectory=$workdir
# ExecStartPre=source $workdir/venv/bin/activate
ExecStart=$workdir/venv/bin/python3 server.py
# ExecStopPost=deactivate
Restart=always
StandardError=syslog

[Install]
WantedBy=multi-user.target

EOF

systemctl daemon-reload
systemctl start azkaban

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐