From bd468377aa1325081583bee7d16fc5a5f27b4d2e Mon Sep 17 00:00:00 2001 From: eddy <1036636139@qq.com> Date: Thu, 13 Nov 2025 21:38:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20vps=5Finit.sh=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E5=8F=96=E5=8E=86=E5=8F=B2SSH=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E5=92=8C=E5=AF=86=E7=A0=81=E4=BF=A1=E6=81=AF=E5=88=B0=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E6=96=87=E4=BB=B6=EF=BC=8C=E5=B9=B6=E5=9C=A8=E6=91=98?= =?UTF-8?q?=E8=A6=81=E6=96=87=E4=BB=B6=E4=B8=AD=E5=8C=85=E5=90=AB=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vps_init.sh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/vps_init.sh b/vps_init.sh index de3dec1..846087d 100644 --- a/vps_init.sh +++ b/vps_init.sh @@ -149,12 +149,59 @@ echo "VPS初始化脚本开始执行: $(date)" > $LOG_FILE # 创建摘要信息文件 SUMMARY_FILE="/root/vps_init.txt" +TEMP_HISTORY_FILE="/tmp/vps_init_history_$$.txt" + +# 如果摘要文件已存在,提取历史端口和密码信息 +if [ -f "$SUMMARY_FILE" ]; then + log "${YELLOW}检测到已存在的配置文件,正在提取历史信息...${NC}" + + # 创建临时文件保存历史信息 + echo "历史配置信息(从上次运行保留)" > $TEMP_HISTORY_FILE + echo "-------------------------------------------------------" >> $TEMP_HISTORY_FILE + + # 提取所有SSH端口历史记录 + SSH_PORTS=$(grep -E "SSH端口已更改为:" "$SUMMARY_FILE" | sed 's/.*SSH端口已更改为: //' | sed 's/[^0-9]//g' || true) + + # 提取所有密码历史记录 + PASSWORDS=$(grep -E "实际密码:" "$SUMMARY_FILE" | sed 's/.*实际密码: //' || true) + + # 写入历史SSH端口 + if [ -n "$SSH_PORTS" ]; then + echo "历史SSH端口:" >> $TEMP_HISTORY_FILE + echo "$SSH_PORTS" | while IFS= read -r port; do + if [ -n "$port" ]; then + echo " - $port" >> $TEMP_HISTORY_FILE + fi + done + fi + + # 写入历史密码 + if [ -n "$PASSWORDS" ]; then + echo "历史密码:" >> $TEMP_HISTORY_FILE + echo "$PASSWORDS" | while IFS= read -r pwd; do + if [ -n "$pwd" ]; then + echo " - $pwd" >> $TEMP_HISTORY_FILE + fi + done + fi + + echo "-------------------------------------------------------" >> $TEMP_HISTORY_FILE + echo "" >> $TEMP_HISTORY_FILE +fi + +# 创建新的摘要文件 touch $SUMMARY_FILE echo "VPS初始化摘要信息" > $SUMMARY_FILE -echo "生成时间: $(date)" >> $SUMMARY_FILE +echo "本次生成时间: $(date)" >> $SUMMARY_FILE echo "=======================================================" >> $SUMMARY_FILE echo "" >> $SUMMARY_FILE +# 如果有历史信息文件,追加到摘要文件 +if [ -f "$TEMP_HISTORY_FILE" ]; then + cat $TEMP_HISTORY_FILE >> $SUMMARY_FILE + rm -f $TEMP_HISTORY_FILE +fi + # 定义日志函数 log() { echo -e "$1" | tee -a $LOG_FILE @@ -637,7 +684,9 @@ DURATION=$((END_TIME - START_TIME)) MINUTES=$((DURATION / 60)) SECONDS=$((DURATION % 60)) -log_summary "${GREEN}=======================================================${NC}" +log_summary "" +log_summary "本次配置信息" +log_summary "=======================================================" log_summary "${GREEN}VPS初始化完成!用时: ${MINUTES}分${SECONDS}秒${NC}" log_summary "${GREEN}=======================================================${NC}" log_summary "${YELLOW}重要提示:${NC}"