自定义登录信息脚本指南

文摘   2024-11-06 08:33   北京  

在 Linux 系统中,为了方便管理员和服务器用户在登录时能够快速获取重要系统信息,可以编写一个自定义的登录信息脚本。本文将介绍如何通过一个 Bash 脚本来实现这一功能

本脚本的主要功能是:

1、服务器运行时间:显示服务器已运行的时间以及启动时间。

2、硬盘占用情况:检查特定分区的硬盘使用率。

3、内存占用情况:显示当前内存和交换分区的使用情况。

4、硬件信息:显示服务器的 CPU 核心数量。

5、服务状态:检查 Zabbix、MariaDB 和 Docker 服务的运行状态。

6、Docker 服务概况:列出正在运行的 Docker 容器及其状态。

7、当前登录用户:显示当前登录到服务器的用户。

8、tmux 会话:列出正在后台运行的 tmux 会话。

#!/bin/bash
# 定义颜色GREEN='\033[0;32m'NC='\033[0m' # 无颜色
# 固定长度的分隔符FIXED_SEPARATOR_LENGTH=85
# 打印分隔线,并在中间居中显示标题print_separator_with_title() { local title="$1" local total_length=$FIXED_SEPARATOR_LENGTH local part_length=$(( (total_length - ${#title}) / 2 )) local separator printf -v separator "%*s" $total_length separator=${separator// /=} # 替换空格为等号
printf "%.*s %s %.*s\n" "$part_length" "$separator" "$title" "$part_length" "$separator"}
print_section() { local title="$1" local content=$(eval "$2") print_separator_with_title "$title" echo -e "${GREEN}${content}${NC}"}
# 显示服务器运行时间print_section "服务器运行时间" "uptime -p; echo '启动时间:' $(uptime -s)"
# 获取硬盘占用情况print_section "Mysql硬盘占用情况 (/dev/sdb1)" "df -h | grep '/dev/sdb1'"print_section "Home硬盘占用情况 (/dev/sda1)" "df -h | grep '/dev/sda1'"print_section "Boot硬盘占用情况 (/dev/sda2)" "df -h | grep '/dev/sda2'"
# 显示内存占用情况print_section "内存占用情况" "free -h | awk 'NR==1 || /Mem:|Swap:/'"
# 显示其他硬件信息print_section "其他硬件信息" "echo 'CPU 核心数: '$(nproc)"
# 显示服务状态print_section "Zabbix服务状态" "systemctl is-active zabbix-agent 2>/dev/null || echo '未知'"print_section "MariaDB服务状态" "systemctl is-active mariadb 2>/dev/null || echo '未知'"print_section "Docker服务状态" "systemctl is-active docker 2>/dev/null || echo '未知'"
# 显示Docker中运行的服务print_section "Docker中运行的服务" "docker ps --format 'table {{.Names}}\t{{.Status}}'"
# 显示当前登录用户print_section "当前登录用户" "who"
# 显示后台运行的 tmux 会话print_section "tmux 会话" "tmux list-sessions 2>/dev/null || echo '没有运行中的 tmux 会话'"

将上述代码保存为 /etc/profile.d/login_info.sh。该脚本会自动在用户登录时运行,显示相关的系统信息。

当用户登录时,终端会显示类似以下的信息:

通过这个自定义登录信息脚本,管理员和服务器用户可以在登录时快速获取服务器的健康状态信息。这不仅提高了管理效率,还增强了系统的透明度和可维护性。您可以根据实际需求对脚本进行进一步的定制和扩展。

如果喜欢这篇文章,请点下方在看,

后续推荐更多类似文章 

日常运维文档
多做实验,少做自己!分享一些日常运维和学习文档,欢迎大家一起交流。
 最新文章