Loading... 为了在Linux系统中执行应急响应检查,可以编写一个脚本来收集系统的关键信息。以下是一个示例脚本,该脚本将检查系统日志、当前正在运行的进程、网络连接等,以便快速了解系统的当前状态和潜在的问题。 ![](https://www.8kiz.cn/usr/uploads/2024/07/1595948660.png) ### Linux应急响应检查脚本 以下脚本旨在收集系统信息,以便在出现问题时进行快速响应和分析。 ```sh #!/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 ``` ### 脚本解释 1. **创建结果目录**: ```sh RESULT_DIR="/var/log/emergency_response" mkdir -p $RESULT_DIR ``` 这段代码用于创建存储检查结果的目录。 2. **收集系统基本信息**: ```sh uname -a > $RESULT_DIR/uname.txt df -h > $RESULT_DIR/df.txt free -m > $RESULT_DIR/meminfo.txt ``` 这些命令分别收集系统信息、磁盘使用情况和内存使用情况。 3. **收集进程信息**: ```sh ps aux > $RESULT_DIR/ps_aux.txt top -b -n 1 > $RESULT_DIR/top.txt ``` 收集当前运行的所有进程信息和系统资源使用情况。 4. **收集登录记录**: ```sh last > $RESULT_DIR/lastlog.txt who > $RESULT_DIR/who.txt ``` 收集最近登录的用户信息和当前登录的用户信息。 5. **收集网络连接信息**: ```sh netstat -tulnp > $RESULT_DIR/netstat.txt ss -tuln > $RESULT_DIR/ss.txt iptables -L > $RESULT_DIR/iptables.txt ``` 获取当前的网络连接信息和防火墙规则。 6. **收集运行中的服务**: ```sh systemctl list-units --type=service > $RESULT_DIR/services.txt ``` 获取当前运行的服务列表。 7. **收集计划任务**: ```sh crontab -l > $RESULT_DIR/crontab.txt ls -al /etc/cron* > $RESULT_DIR/cron_files.txt ``` 获取用户的计划任务和系统的计划任务文件。 8. **收集关键配置文件**: ```sh 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 ``` 复制系统的关键配置文件,以便检查和备份。 9. **收集系统日志**: ```sh 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 ``` 复制系统日志文件,以便进一步分析。 10. **汇总信息**: ```sh echo "应急响应检查完成,结果保存在 $RESULT_DIR" ls -al $RESULT_DIR ``` 通知检查完成并显示结果目录的内容。 ### 思维导图 ```plaintext - Linux应急响应检查脚本 - 创建结果目录 - 收集系统基本信息 - uname - df - free - 收集进程信息 - ps - top - 收集登录记录 - last - who - 收集网络连接信息 - netstat - ss - iptables - 收集运行中的服务 - systemctl - 收集计划任务 - crontab - ls - 收集关键配置文件 - cp - 收集系统日志 - cp - 汇总信息 ``` 通过这个脚本,可以快速收集系统的关键信息,有助于在发生问题时进行及时的应急响应和分析。 最后修改:2024 年 07 月 28 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏