2025-12-25 upload
This commit is contained in:
110
install_service.sh
Normal file
110
install_service.sh
Normal file
@@ -0,0 +1,110 @@
|
||||
#!/bin/bash
|
||||
# 百家号守护进程服务安装脚本(Linux systemd)
|
||||
|
||||
set -e
|
||||
|
||||
echo "================================================================"
|
||||
echo " 安装百家号数据同步守护进程服务"
|
||||
echo "================================================================"
|
||||
echo ""
|
||||
|
||||
# 检查是否以root权限运行
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "[X] 请使用root权限运行此脚本"
|
||||
echo " sudo bash install_service.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 获取脚本所在目录
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SERVICE_FILE="bjh_daemon.service"
|
||||
DAEMON_SCRIPT="data_sync_daemon.py"
|
||||
|
||||
echo "[配置信息]"
|
||||
echo " 工作目录: $SCRIPT_DIR"
|
||||
echo " 服务文件: $SERVICE_FILE"
|
||||
echo " 守护脚本: $DAEMON_SCRIPT"
|
||||
echo ""
|
||||
|
||||
# 检查守护进程脚本是否存在
|
||||
if [ ! -f "$SCRIPT_DIR/$DAEMON_SCRIPT" ]; then
|
||||
echo "[X] 未找到守护进程脚本: $SCRIPT_DIR/$DAEMON_SCRIPT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查Python3是否安装
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo "[X] 未安装Python3,正在安装..."
|
||||
yum install -y python3 || apt-get install -y python3
|
||||
fi
|
||||
|
||||
PYTHON_PATH=$(which python3)
|
||||
echo " Python路径: $PYTHON_PATH"
|
||||
echo ""
|
||||
|
||||
# 创建临时服务文件(使用实际路径)
|
||||
TEMP_SERVICE="/tmp/bjh_daemon.service"
|
||||
cat > "$TEMP_SERVICE" <<EOF
|
||||
[Unit]
|
||||
Description=百家号数据同步守护进程
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=$SCRIPT_DIR
|
||||
ExecStart=$PYTHON_PATH $SCRIPT_DIR/$DAEMON_SCRIPT
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# 复制服务文件到systemd目录
|
||||
echo "[>] 正在安装服务..."
|
||||
cp "$TEMP_SERVICE" /etc/systemd/system/bjh_daemon.service
|
||||
chmod 644 /etc/systemd/system/bjh_daemon.service
|
||||
|
||||
# 重新加载systemd
|
||||
echo "[>] 重新加载systemd..."
|
||||
systemctl daemon-reload
|
||||
|
||||
# 启用服务(开机自启)
|
||||
echo "[>] 启用开机自启..."
|
||||
systemctl enable bjh_daemon.service
|
||||
|
||||
# 启动服务
|
||||
echo "[>] 启动服务..."
|
||||
systemctl start bjh_daemon.service
|
||||
|
||||
# 检查服务状态
|
||||
sleep 2
|
||||
if systemctl is-active --quiet bjh_daemon.service; then
|
||||
echo ""
|
||||
echo "================================================================"
|
||||
echo " 安装成功!"
|
||||
echo "================================================================"
|
||||
echo ""
|
||||
echo "[✓] 服务已安装并启动"
|
||||
echo "[✓] 服务名称: bjh_daemon.service"
|
||||
echo "[✓] 开机自启: 已启用"
|
||||
echo ""
|
||||
echo "[常用命令]"
|
||||
echo " 查看状态: systemctl status bjh_daemon"
|
||||
echo " 查看日志: journalctl -u bjh_daemon -f"
|
||||
echo " 停止服务: systemctl stop bjh_daemon"
|
||||
echo " 重启服务: systemctl restart bjh_daemon"
|
||||
echo " 禁用自启: systemctl disable bjh_daemon"
|
||||
echo ""
|
||||
else
|
||||
echo ""
|
||||
echo "[X] 服务启动失败,请查看日志:"
|
||||
echo " journalctl -u bjh_daemon -n 50"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -f "$TEMP_SERVICE"
|
||||
Reference in New Issue
Block a user