Files
baijiahao_data_crawl/deploy_daemon.sh

106 lines
3.4 KiB
Bash
Raw Permalink 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
echo "============================================================"
echo "百家号数据同步守护进程 - 部署脚本"
echo "含数据验证与短信告警功能"
echo "============================================================"
echo ""
# 检查是否为root用户
if [ "$EUID" -ne 0 ]; then
echo "[错误] 请使用root用户运行此脚本"
echo " sudo bash deploy_daemon.sh"
exit 1
fi
# 项目目录(根据实际情况修改)
PROJECT_DIR="/root/xhh_baijiahao"
SERVICE_NAME="bjh_daemon"
echo "[1/6] 检查项目目录..."
if [ ! -d "$PROJECT_DIR" ]; then
echo "[错误] 项目目录不存在: $PROJECT_DIR"
exit 1
fi
echo " 项目目录: $PROJECT_DIR"
echo ""
echo "[2/6] 检查Python依赖..."
cd "$PROJECT_DIR"
python3 -c "import schedule" 2>/dev/null
if [ $? -ne 0 ]; then
echo " 安装 schedule 模块..."
pip3 install schedule
fi
python3 -c "from data_validation_with_sms import DataValidationWithSMS" 2>/dev/null
if [ $? -ne 0 ]; then
echo "[警告] 数据验证模块检查失败,请确保以下文件存在:"
echo " - data_validation.py"
echo " - data_validation_with_sms.py"
echo " - sms_config.json"
fi
python3 -c "from alibabacloud_dysmsapi20170525.client import Client" 2>/dev/null
if [ $? -ne 0 ]; then
echo " 安装阿里云短信SDK..."
pip3 install alibabacloud_dysmsapi20170525 alibabacloud_credentials alibabacloud_tea_openapi alibabacloud_tea_util
fi
echo ""
echo "[3/6] 配置systemd服务..."
# 复制服务文件
cp "$PROJECT_DIR/bjh_daemon.service" /etc/systemd/system/
chmod 644 /etc/systemd/system/bjh_daemon.service
# 重新加载systemd配置
systemctl daemon-reload
echo " 服务文件已安装: /etc/systemd/system/bjh_daemon.service"
echo ""
echo "[4/6] 配置短信告警..."
if [ ! -f "$PROJECT_DIR/sms_config.json" ]; then
echo "[警告] 未找到 sms_config.json短信功能可能不可用"
echo " 请创建配置文件: $PROJECT_DIR/sms_config.json"
else
echo " 短信配置文件已存在: sms_config.json"
fi
echo ""
echo "[5/6] 启用并启动服务..."
systemctl enable bjh_daemon.service
systemctl start bjh_daemon.service
# 等待2秒
sleep 2
echo ""
echo "[6/6] 检查服务状态..."
systemctl status bjh_daemon.service --no-pager
echo ""
echo "============================================================"
echo "部署完成!"
echo "============================================================"
echo ""
echo "常用命令:"
echo " 查看状态: sudo systemctl status bjh_daemon"
echo " 查看日志: sudo journalctl -u bjh_daemon -f"
echo " 停止服务: sudo systemctl stop bjh_daemon"
echo " 重启服务: sudo systemctl restart bjh_daemon"
echo " 禁用服务: sudo systemctl disable bjh_daemon"
echo ""
echo "配置文件:"
echo " systemd配置: /etc/systemd/system/bjh_daemon.service"
echo " 短信配置: $PROJECT_DIR/sms_config.json"
echo " 程序日志: $PROJECT_DIR/logs/data_sync_daemon.log"
echo " 验证报告: $PROJECT_DIR/validation_reports/"
echo ""
echo "功能说明:"
echo " 1. 每隔1小时自动执行数据同步工作时间8:00-24:00"
echo " 2. 数据同步完成后自动验证数据完整性"
echo " 3. 验证失败时自动发送短信告警错误代码2222"
echo " 4. 非工作时间自动休眠"
echo ""