更新 vps_init.sh,提取历史SSH端口和密码信息到临时文件,并在摘要文件中包含历史信息

This commit is contained in:
eddy
2025-11-13 21:38:59 +08:00
parent 6d68c1dcd4
commit bd468377aa

View File

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