-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
背景
旧版本(0.0.x)的 pika-agent 使用 kardianos/service 库的默认模板,导致 systemd 服务的 RestartSec 被硬编码为 120 秒。新版本通过自定义模板将其改为 5 秒,以实现更快的故障恢复。
一键升级
推荐方式:直接通过 curl 执行
curl -fsSL https://raw.githubusercontent.com/dushixiang/pika/main/scripts/update-restartsec.sh | sudo bash访问不到 Github 的用户可以使用我提供的备用脚本。
curl -fsSL https://f.typeaudit.com/scripts/update-restartsec.sh | sudo bash脚本功能
- ✓ 检查是否以 root 权限运行
- ✓ 检查服务文件是否存在
- ✓ 检查当前 RestartSec 配置(如果已经是 5 秒则跳过)
- ✓ 修改 RestartSec 为 5 秒
- ✓ 重新加载 systemd 配置
- ✓ 自动重启服务并验证状态
验证结果
# 查看服务文件中的 RestartSec 配置
cat /etc/systemd/system/pika-agent.service | grep RestartSec
# 应该显示: RestartSec=5注意事项
- 脚本会自动重启服务以应用新配置
- 重启过程通常只需 2-3 秒,对监控数据影响极小
- 脚本会自动检测服务重启后的状态,确保服务正常运行
批量升级多台服务器
如果有多台服务器需要升级:
#!/bin/bash
SERVERS=(
"192.168.1.10"
"192.168.1.11"
"192.168.1.12"
)
for server in "${SERVERS[@]}"; do
echo "================================"
echo "升级服务器: $server"
echo "================================"
ssh root@$server 'curl -fsSL https://raw.githubusercontent.com/dushixiang/pika/main/scripts/update-restartsec.sh | bash'
echo ""
done
echo "所有服务器升级完成!"新版本安装
对于新安装的服务(使用新版本代码重新编译),无需运行此脚本,因为新版本会自动使用正确的配置。
此脚本仅用于升级已安装的旧版本服务。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels