linux应急响应检查脚本
以下脚本旨在收集系统信息,以便在出现问题时进行快速响应和分析。
#!/bin/bash# 创建结果目录
RESULT_DIR="/var/log/emergency_response"
mkdir -p $RESULT_DIR# 收集系统基本信息
echo "收集系统基本信息..."
uname -a > $RESULT_DIR/uname.txt
df -h > $RESULT_DIR/df.txt
free -m > $RESULT_DIR/meminfo.txt# 收集进程信息
echo "收集进程信息..."
ps aux > $RESULT_DIR/ps_aux.txt
top -b -n 1 > $RESULT_DIR/top.txt# 收集登录记录
echo "收集登录记录..."
last > $RESULT_DIR/lastlog.txt
who > $RESULT_DIR/who.txt# 收集网络连接信息
echo "收集网络连接信息..."
netstat -tulnp > $RESULT_DIR/netstat.txt
ss -tuln > $RESULT_DIR/ss.txt
iptables -L > $RESULT_DIR/iptables.txt# 收集运行中的服务
echo "收集运行中的服务..."
systemctl list-units --type=service > $RESULT_DIR/services.txt# 收集计划任务
echo "收集计划任务..."
crontab -l > $RESULT_DIR/crontab.txt
ls -al /etc/cron* > $RESULT_DIR/cron_files.txt# 收集关键配置文件
echo "收集关键配置文件..."
cp /etc/passwd $RESULT_DIR/passwd.txt
cp /etc/shadow $RESULT_DIR/shadow.txt
cp /etc/group $RESULT_DIR/group.txt
cp /etc/hosts $RESULT_DIR/hosts.txt# 收集系统日志
echo "收集系统日志..."
cp /var/log/syslog $RESULT_DIR/syslog.txt 2>/dev/null
cp /var/log/messages $RESULT_DIR/messages.txt 2>/dev/null
cp /var/log/auth.log $RESULT_DIR/auth.log 2>/dev/null
cp /var/log/secure $RESULT_DIR/secure.txt 2>/dev/null# 汇总信息
echo "应急响应检查完成,结果保存在 $RESULT_DIR"# 显示结果目录内容
ls -al $RESULT_DIR
脚本解释
-
创建结果目录:
RESULT_DIR="/var/log/emergency_response" mkdir -p $RESULT_DIR
这段代码用于创建存储检查结果的目录。
-
收集系统基本信息:
uname -a > $RESULT_DIR/uname.txt df -h > $RESULT_DIR/df.txt free -m > $RESULT_DIR/meminfo.txt
这些命令分别收集系统信息、磁盘使用情况和内存使用情况。
-
收集进程信息:
ps aux > $RESULT_DIR/ps_aux.txt top -b -n 1 > $RESULT_DIR/top.txt
收集当前运行的所有进程信息和系统资源使用情况。
-
收集登录记录:
last > $RESULT_DIR/lastlog.txt who > $RESULT_DIR/who.txt
收集最近登录的用户信息和当前登录的用户信息。
-
收集网络连接信息:
netstat -tulnp > $RESULT_DIR/netstat.txt ss -tuln > $RESULT_DIR/ss.txt iptables -L > $RESULT_DIR/iptables.txt
获取当前的网络连接信息和防火墙规则。
-
收集运行中的服务:
systemctl list-units --type=service > $RESULT_DIR/services.txt
获取当前运行的服务列表。
-
收集计划任务:
crontab -l > $RESULT_DIR/crontab.txt ls -al /etc/cron* > $RESULT_DIR/cron_files.txt
获取用户的计划任务和系统的计划任务文件。
-
收集关键配置文件:
cp /etc/passwd $RESULT_DIR/passwd.txt cp /etc/shadow $RESULT_DIR/shadow.txt cp /etc/group $RESULT_DIR/group.txt cp /etc/hosts $RESULT_DIR/hosts.txt
复制系统的关键配置文件,以便检查和备份。
-
收集系统日志:
cp /var/log/syslog $RESULT_DIR/syslog.txt 2>/dev/null cp /var/log/messages $RESULT_DIR/messages.txt 2>/dev/null cp /var/log/auth.log $RESULT_DIR/auth.log 2>/dev/null cp /var/log/secure $RESULT_DIR/secure.txt 2>/dev/null
复制系统日志文件,以便进一步分析。
-
汇总信息:
echo "应急响应检查完成,结果保存在 $RESULT_DIR" ls -al $RESULT_DIR
通知检查完成并显示结果目录的内容。