当前位置: 首页 > 科技观察

用于在CentOS-RHEL系统上生成补丁合规性报告的Bash脚本

时间:2023-03-18 22:25:41 科技观察

如果您正在运行大型Linux环境,那么您可能已经将RedHat与Satellite集成。如果是,您不必担心补丁合规性报告,因为有一种方法可以从Satellite服务器导出它。但是,如果您运行的是没有Satellite集成的小型RedHat环境,或者它是CentOS系统,那么此脚本将帮助您创建该报告。补丁合规性报告通常每月或每三个月创建一次,具体取决于公司的需要。添加cronjobs以根据您的需要自动执行此功能。这个bash脚本通常适合在50个以下的系统上运行,但没有限制。使您的系统保持最新是Linux管理员的一项重要任务,它使您的计算机非常稳定和安全。本教程包含四个shell脚本,请选择适合您的。方法1:为CentOS/RHEL系统上的安全补丁生成补丁合规性报告的Bash脚本该脚本只会生成安全补丁合规性报告。它将通过纯文本发送邮件。#vi/opt/scripts/small-scripts/sec-errata.sh#!/bin/sh/tmp/sec-up.txtSUBJECT="补丁报告"日期""MESSAGE="/tmp/sec-up.txt"TO="[emailprotected]"echo"+--------------+--------------------------+">>$MESSAGEecho"|Server_Name|安全勘误表|">>$MESSAGEecho"+----------------+---------------------------+">>$MESSAGEforserverin`more/opt/scripts/server.txt`dosec=`ssh$serveryumupdateinfosummary|grep'安全'|grep-v'重要|中等'|尾-1|awk'{print$1}'`echo"$server$sec">>$MESSAGEDoneecho"+--------------------------------------------+">>$MESSAGEmail-s"$SUBJECT""$TO"<$MESSAGE添加后运行上面的脚本。#sh/opt/scripts/small-scripts/sec-errata.sh您将看到下面的输出。#cat/tmp/sec-up.txt+----------------+----------------+|服务器名称|安全勘误表|+----------------+----------------+server1server2server321server4+---------------------------------+添加了以下cronjob以每月获取补丁合规性报告。#crontab-e@monthly/bin/bash/opt/scripts/system-uptime-script-1.sh方法1a:为CentOS/RHEL系统上的安全补丁生成补丁合规性报告的Bash脚本该脚本将为您生成安全性补丁合规性报告。它将通过CSV文件发送邮件。#vi/opt/scripts/small-scripts/sec-errata-1.sh#!/bin/shecho"ServerName,SecurityErrata">/tmp/sec-up.csvfor`more/opt/scripts/中的服务器server.txt`dosec=`ssh$serveryumupdateinfosummary|grep'安全'|grep-v'重要|中等'|尾-1|awk'{print$1}'`echo"$server,$sec">>/tmp/sec-up.csvdoneecho"修补报告`date+"%B%Y"`"|mailx-s"PatchingReporton`date`"-a/tmp/sec-up.csv[emailprotected]rm/tmp/sec-up.csv添加上述脚本后运行它。#sh/opt/scripts/small-scripts/sec-errata-1.sh您将看到下面的输出。方法2:为CentOS/RHEL系统上的安全补丁、错误修复、增强功能生成补丁合规性报告的Bash脚本该脚本将为您生成安全补丁、错误修复、增强补丁合规性报告。它将通过纯文本发送邮件。#vi/opt/scripts/small-scripts/sec-errata-bugfix-enhancement.sh#!/bin/sh/tmp/sec-up.txtSUBJECT=""`date`"的补丁报告"MESSAGE="/tmp/sec-up.txt"TO="[emailprotected]"echo"+----------------+-----------------+--------+--------------------+">>$MESSAGEecho"|Server_Name|安全勘误|漏洞修复|增强|">>$MESSAGEecho"+----------------+--------------------+--------+--------------------+">>$MESSAGEforserverin`more/opt/scripts/server.txt`dosec=`ssh$serveryumupdateinfosummary|grep'安全'|grep-v'重要|中等'|尾-1|awk'{print$1}'`bug=`ssh$serveryumupdateinfosummary|grep'修正'|尾-1|awk'{print$1}'`enhance=`ssh$serveryumupdateinfosummary|grep'增强'|尾-1|awk'{print$1}'`echo"$server$sec$bug$enhance">>$MESSAGEDoneecho"+----------------------------------------------------------------+">>$MESSAGEmail-s"$SUBJECT""$TO"<$MESSAGE添加后运行上面的脚本#sh/opt/scripts/small-scripts/sec-errata-bugfix-enhancement.sh您将看到以下输出。#cat/tmp/sec-up.txt+----------------+----------------+--------+--------------------+|服务器名称|安全勘误表|修正错误|增强|+---------------+----------------+--------+------------------+server0116server02516server032126620server0416+------------------------------------------------------------------+添加了以下cronjob以获取每三个月发布一次补丁合规性报告。该脚本计划在1月1日、4月、7月、10月运行。#crontab-e0001*/3*/bin/bash/opt/scripts/system-uptime-script-1.sh方法2a:为CentOS/RHEL系统上的安全补丁、漏洞修复和增强功能生成补丁合规性报告Bash脚本脚本将为您生成安全补丁、错误修复、增强的补丁合规性报告。它将通过CSV文件发送邮件。#vi/opt/scripts/small-scripts/sec-errata-bugfix-enhancement-1.sh#!/bin/shecho"ServerName,SecurityErrata,Bugfix,Enhancement">/tmp/sec-up.csv服务器在`more/opt/scripts/server.txt`dosec=`ssh$serveryumupdateinfosummary|grep'安全'|grep-v'重要|中等'|尾-1|awk'{print$1}'`bug=`ssh$serveryumupdateinfosummary|grep'修正'|尾-1|awk'{print$1}'`enhance=`ssh$serveryumupdateinfosummary|grep'增强'|尾-1|awk'{print$1}'`echo"$server,$sec,$bug,$enhance">>/tmp/sec-up.csvdoneecho"修补报告为`date+"%B%Y"`"|mailx-s"PatchingReporton`date`"-a/tmp/sec-up.csv[emailprotected]rm/tmp/sec-up.csv添加后运行上面的脚本。#sh/opt/scripts/small-scripts/sec-errata-bugfix-enhancement-1.sh您将看到下面的输出。