#!/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" <] 正在安装服务..." 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"