35 lines
1.0 KiB
Bash
35 lines
1.0 KiB
Bash
#!/bin/bash
|
||
# 小唯开机自启动脚本
|
||
# 确保DNS容错、关键服务、Feishu连接在开机后自动恢复
|
||
|
||
set -e
|
||
|
||
LOG="~/.hermes/logs/startup.log"
|
||
mkdir -p ~/.hermes/logs
|
||
|
||
log() { echo "[$(date '+%m-%d %H:%M')] $*" | tee -a "$LOG"; }
|
||
|
||
log "=== 小唯开机启动 ==="
|
||
|
||
# 1. DNS多路容错(Cloudflare兜底,防止阿里DNS单点故障导致飞书中断)
|
||
WIFI_DNS=$(nmcli -t -f IP4.DNS device show wlp0s20f3 2>/dev/null | head -1)
|
||
if echo "$WIFI_DNS" | grep -q "1.1.1.1"; then
|
||
log "DNS已有多路: $WIFI_DNS"
|
||
else
|
||
log "配置DNS容错..."
|
||
nmcli device modify wlp0s20f3 +ipv4.dns "1.1.1.1" 2>/dev/null && log "DNS已加Cloudflare" || log "DNS配置失败"
|
||
fi
|
||
|
||
# 2. 验证飞书连通性
|
||
python3 -c "
|
||
import socket
|
||
try:
|
||
ip = socket.gethostbyname('open.feishu.cn')
|
||
print(f'飞书DNS解析OK: {ip}')
|
||
except Exception as e:
|
||
print(f'飞书DNS解析失败: {e}')
|
||
" >> "$LOG" 2>&1
|
||
|
||
# 3. Hermes Gateway状态(被动等待systemd拉起,不主动重启)
|
||
log "Hermes服务由systemd管理,跳过主动拉起"
|
||
log "=== 启动完成 ===" |