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}"