72 lines
1.8 KiB
Bash
Executable File
72 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# SMS Forwarder systemd 服务安装脚本
|
|
|
|
set -e
|
|
|
|
echo "🔧 配置 SMS Forwarder systemd 服务..."
|
|
|
|
# 获取当前用户和路径
|
|
CURRENT_USER=$(whoami)
|
|
CURRENT_DIR=$(pwd)
|
|
SERVICE_FILE="sms-forwarder.service"
|
|
|
|
# 检查是否在正确的目录
|
|
if [ ! -f "pyproject.toml" ] || [ ! -f "config.yaml" ]; then
|
|
echo "❌ 请在项目根目录运行此脚本"
|
|
exit 1
|
|
fi
|
|
|
|
# 检查 uv 虚拟环境
|
|
if [ ! -d ".venv" ]; then
|
|
echo "📦 创建虚拟环境..."
|
|
uv sync
|
|
fi
|
|
|
|
# 获取虚拟环境路径
|
|
VENV_PATH="$CURRENT_DIR/.venv"
|
|
if [ ! -f "$VENV_PATH/bin/python" ]; then
|
|
echo "❌ 虚拟环境未找到,请先运行 'uv sync'"
|
|
exit 1
|
|
fi
|
|
|
|
# 创建日志和数据目录
|
|
mkdir -p logs data
|
|
|
|
# 更新服务文件中的路径
|
|
echo "📝 更新服务文件配置..."
|
|
sed -i "s|your-username|$CURRENT_USER|g" $SERVICE_FILE
|
|
sed -i "s|/path/to/notification|$CURRENT_DIR|g" $SERVICE_FILE
|
|
|
|
# 复制服务文件到系统目录
|
|
echo "📋 安装 systemd 服务文件..."
|
|
sudo cp $SERVICE_FILE /etc/systemd/system/
|
|
|
|
# 重新加载 systemd
|
|
echo "🔄 重新加载 systemd..."
|
|
sudo systemctl daemon-reload
|
|
|
|
# 启用服务
|
|
echo "✅ 启用 SMS Forwarder 服务..."
|
|
sudo systemctl enable sms-forwarder
|
|
|
|
# 启动服务
|
|
echo "🚀 启动 SMS Forwarder 服务..."
|
|
sudo systemctl start sms-forwarder
|
|
|
|
# 检查状态
|
|
echo "📊 检查服务状态..."
|
|
sudo systemctl status sms-forwarder --no-pager
|
|
|
|
echo ""
|
|
echo "🎉 SMS Forwarder 服务安装完成!"
|
|
echo ""
|
|
echo "常用命令:"
|
|
echo " 查看状态: sudo systemctl status sms-forwarder"
|
|
echo " 查看日志: sudo journalctl -u sms-forwarder -f"
|
|
echo " 重启服务: sudo systemctl restart sms-forwarder"
|
|
echo " 停止服务: sudo systemctl stop sms-forwarder"
|
|
echo " 禁用服务: sudo systemctl disable sms-forwarder"
|
|
echo ""
|
|
echo "服务将在系统重启后自动启动。"
|