Files
baijiahao_data_crawl/install_service.sh
“shengyudong” 322ac74336 2025-12-25 upload
2025-12-25 11:16:59 +08:00

111 lines
2.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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"