添加摘要信息文件,记录VPS初始化过程中的重要信息和提示
This commit is contained in:
43
vps_init.sh
43
vps_init.sh
@@ -130,11 +130,24 @@ LOG_FILE="/var/log/vps_init_$(date +%Y%m%d_%H%M%S).log"
|
|||||||
touch $LOG_FILE
|
touch $LOG_FILE
|
||||||
echo "VPS初始化脚本开始执行: $(date)" > $LOG_FILE
|
echo "VPS初始化脚本开始执行: $(date)" > $LOG_FILE
|
||||||
|
|
||||||
|
# 创建摘要信息文件
|
||||||
|
SUMMARY_FILE="/root/vps_init_summary_$(date +%Y%m%d_%H%M%S).txt"
|
||||||
|
touch $SUMMARY_FILE
|
||||||
|
echo "VPS初始化摘要信息" > $SUMMARY_FILE
|
||||||
|
echo "生成时间: $(date)" >> $SUMMARY_FILE
|
||||||
|
echo "=======================================================" >> $SUMMARY_FILE
|
||||||
|
echo "" >> $SUMMARY_FILE
|
||||||
|
|
||||||
# 定义日志函数
|
# 定义日志函数
|
||||||
log() {
|
log() {
|
||||||
echo -e "$1" | tee -a $LOG_FILE
|
echo -e "$1" | tee -a $LOG_FILE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 定义摘要信息函数(同时输出到屏幕、日志文件和摘要文件)
|
||||||
|
log_summary() {
|
||||||
|
echo -e "$1" | tee -a $LOG_FILE | sed 's/\x1b\[[0-9;]*m//g' >> $SUMMARY_FILE
|
||||||
|
}
|
||||||
|
|
||||||
# 定义错误处理函数
|
# 定义错误处理函数
|
||||||
handle_error() {
|
handle_error() {
|
||||||
local exit_code=$?
|
local exit_code=$?
|
||||||
@@ -607,52 +620,54 @@ DURATION=$((END_TIME - START_TIME))
|
|||||||
MINUTES=$((DURATION / 60))
|
MINUTES=$((DURATION / 60))
|
||||||
SECONDS=$((DURATION % 60))
|
SECONDS=$((DURATION % 60))
|
||||||
|
|
||||||
log "${GREEN}=======================================================${NC}"
|
log_summary "${GREEN}=======================================================${NC}"
|
||||||
log "${GREEN}VPS初始化完成!用时: ${MINUTES}分${SECONDS}秒${NC}"
|
log_summary "${GREEN}VPS初始化完成!用时: ${MINUTES}分${SECONDS}秒${NC}"
|
||||||
log "${GREEN}=======================================================${NC}"
|
log_summary "${GREEN}=======================================================${NC}"
|
||||||
log "${YELLOW}重要提示:${NC}"
|
log_summary "${YELLOW}重要提示:${NC}"
|
||||||
|
|
||||||
# 根据用户选择显示相应的提示信息
|
# 根据用户选择显示相应的提示信息
|
||||||
TIP_COUNT=1
|
TIP_COUNT=1
|
||||||
|
|
||||||
# 如果用户选择了修改SSH端口,显示端口信息
|
# 如果用户选择了修改SSH端口,显示端口信息
|
||||||
if [[ "$CHANGE_SSH_PORT" =~ ^[Yy]$ ]]; then
|
if [[ "$CHANGE_SSH_PORT" =~ ^[Yy]$ ]]; then
|
||||||
log "${YELLOW}$TIP_COUNT. SSH端口已更改为: ${NEW_SSH_PORT}${NC}"
|
log_summary "${YELLOW}$TIP_COUNT. SSH端口已更改为: ${NEW_SSH_PORT}${NC}"
|
||||||
TIP_COUNT=$((TIP_COUNT + 1))
|
TIP_COUNT=$((TIP_COUNT + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 如果用户选择了修改root密码,显示密码信息
|
# 如果用户选择了修改root密码,显示密码信息
|
||||||
if [[ "$CHANGE_PASSWORD" =~ ^[Yy]$ ]]; then
|
if [[ "$CHANGE_PASSWORD" =~ ^[Yy]$ ]]; then
|
||||||
log "${YELLOW}$TIP_COUNT. root密码已更改为: ${NEW_PASSWORD}${NC}"
|
log_summary "${YELLOW}$TIP_COUNT. root密码已更改为: ${NEW_PASSWORD}${NC}"
|
||||||
TIP_COUNT=$((TIP_COUNT + 1))
|
TIP_COUNT=$((TIP_COUNT + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 如果用户选择了修改主机名,显示主机名信息
|
# 如果用户选择了修改主机名,显示主机名信息
|
||||||
if [ "$CHANGE_HOSTNAME_FLAG" = true ]; then
|
if [ "$CHANGE_HOSTNAME_FLAG" = true ]; then
|
||||||
log "${YELLOW}$TIP_COUNT. 主机名已更改为: ${NEW_HOSTNAME}${NC}"
|
log_summary "${YELLOW}$TIP_COUNT. 主机名已更改为: ${NEW_HOSTNAME}${NC}"
|
||||||
TIP_COUNT=$((TIP_COUNT + 1))
|
TIP_COUNT=$((TIP_COUNT + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 始终显示防火墙和日志文件信息
|
# 始终显示防火墙和日志文件信息
|
||||||
log "${YELLOW}$TIP_COUNT. 防火墙已启用,只开放了必要端口${NC}"
|
log_summary "${YELLOW}$TIP_COUNT. 防火墙已启用,只开放了必要端口${NC}"
|
||||||
TIP_COUNT=$((TIP_COUNT + 1))
|
TIP_COUNT=$((TIP_COUNT + 1))
|
||||||
log "${YELLOW}$TIP_COUNT. 日志文件保存在: ${LOG_FILE}${NC}"
|
log_summary "${YELLOW}$TIP_COUNT. 日志文件保存在: ${LOG_FILE}${NC}"
|
||||||
|
|
||||||
# 如果已启用BBR,显示BBR信息
|
# 如果已启用BBR,显示BBR信息
|
||||||
if sysctl net.ipv4.tcp_congestion_control 2>/dev/null | grep -q "bbr"; then
|
if sysctl net.ipv4.tcp_congestion_control 2>/dev/null | grep -q "bbr"; then
|
||||||
TIP_COUNT=$((TIP_COUNT + 1))
|
TIP_COUNT=$((TIP_COUNT + 1))
|
||||||
log "${YELLOW}$TIP_COUNT. BBR加速已成功启用${NC}"
|
log_summary "${YELLOW}$TIP_COUNT. BBR加速已成功启用${NC}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 如果配置了交换空间,显示交换空间信息
|
# 如果配置了交换空间,显示交换空间信息
|
||||||
if [ "$CURRENT_SWAP_TOTAL" -gt "0" ]; then
|
if [ "$CURRENT_SWAP_TOTAL" -gt "0" ]; then
|
||||||
TIP_COUNT=$((TIP_COUNT + 1))
|
TIP_COUNT=$((TIP_COUNT + 1))
|
||||||
log "${YELLOW}$TIP_COUNT. 交换空间大小: $(free -m | grep "Swap:" | awk '{print $2}')MB${NC}"
|
log_summary "${YELLOW}$TIP_COUNT. 交换空间大小: $(free -m | grep "Swap:" | awk '{print $2}')MB${NC}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log "${GREEN}=======================================================${NC}"
|
log_summary "${GREEN}=======================================================${NC}"
|
||||||
log "${BLUE}建议您现在重启服务器以应用所有更改${NC}"
|
log_summary "${BLUE}建议您现在重启服务器以应用所有更改${NC}"
|
||||||
log "${GREEN}=======================================================${NC}"
|
log_summary "${GREEN}=======================================================${NC}"
|
||||||
|
log_summary ""
|
||||||
|
log_summary "摘要信息已保存到: ${SUMMARY_FILE}"
|
||||||
|
|
||||||
# 提示用户是否立即重启
|
# 提示用户是否立即重启
|
||||||
while true; do
|
while true; do
|
||||||
|
|||||||
Reference in New Issue
Block a user