linux 服务器被DDOS攻击防御的SHELL脚本
2013-11-20 17:13
666 查看
#主函数
function installCTIPatch
{
patchPackage=$1
#拼接出未解压的补丁压缩包全路径patchPath
patchPath=`echo "$HOME/$patchPackage" | awk -F . '{printf $1}'`
#判断补丁压缩包目录下是否存在文件,不存在就打印日志后退出
#if [ ! -d $patchPath ]
sumOfPatch=`ls -l $patchPath/*.zip | wc -l`
if [ 0 = $sumOfPatch ];
then
echo "[`date`]: the patchPackage [`echo $patchPath`] is not existed" >> $installLog
exit 1
fi
#检查当前版本是否可以打当前的补丁
#checkPatchVersion $patchPath
#获取补丁版本号
patchPackageVersion=`ls $patchPath | awk -F "_" '{print $1}'`
#解压补丁压缩包
echo "[`date`]: begin unzip *.zip" >> $installLog
unzip -o $patchPath/*.zip -d $patchPath
# #获取当前操作系统的解压后的补丁文件全路径package
# case $G_OS in
# "Linux") package=`echo "$patchPath/ICDV300R005C06SPC005_LINUX_ICD/Software/LINUX" | awk -F . '{printf $1}'`;;
# "AIX") package=`echo "$patchPath/ICDV300R005C06SPC005_AIX_ICD/Software/AIX" | awk -F . '{printf $1}'`;;
# "HP-UX") package=`echo "$patchPath/ICDV300R005C06SPC005_HP_RX_ICD/Software/HP_RX" | awk -F . '{printf $1}'`;;
# *) echo "[`date`]: the [`echo $G_OS`] patchPackage is not existed" >> $installLog;;
# esac
#获取当前操作系统的解压后的补丁文件全路径package
case $G_OS in
"Linux") package=`echo "$patchPath/""$patchPackageVersion""_LINUX_ICD/Software/LINUX"`;;
"AIX") package=`echo "$patchPath/""$patchPackageVersion""_AIX_ICD/Software/AIX"`;;
"HP-UX") package=`echo "$patchPath/""$patchPackageVersion""_HP_RX_ICD/Software/HP_RX"`;;
*) echo "[`date`]: the [`echo $G_OS`] patchPackage is not existed" >> $installLog;;
esac
#日志记录当前操作系统以及补丁包路径
echo "[`date`]: the os type is [`echo $G_OS`], the package path is [`echo $package`]" >> $installLog
#检查补丁包中是否包含icdcomm,如有则打icdcomm补丁,然后删除icdcomm补丁压缩包
checkAndInstallIcdcomm $package
#检查补丁包中是否包含ctiserver,如有则打ctiserver补丁,然后删除ctiserver补丁压缩包
checkAndInstallCTIServer $package
#检查补丁包中是否包含DLL/lib,如有则打DLL/lib补丁,然后删除DLL/lib补丁压缩包
checkAndInstallDll $package
#检查补丁包中是否包含cti剩余组件,如有则按统一规则打组件补丁,然后删除所有压缩包目录
checkAndInstallComponent $package
#补丁安装完后,判断是否有补丁压缩包目录(防止误删除),有则删除该目录
if [ -d $patchPath ]
then
echo "[`date`]: delete all patch" >> $installLog
# rm -rf $patchPath
fi
echo "[`date`]: upgrade finish" >> $installLog
}
#主函数调用
installCTIPatch $*
function installCTIPatch
{
patchPackage=$1
#拼接出未解压的补丁压缩包全路径patchPath
patchPath=`echo "$HOME/$patchPackage" | awk -F . '{printf $1}'`
#判断补丁压缩包目录下是否存在文件,不存在就打印日志后退出
#if [ ! -d $patchPath ]
sumOfPatch=`ls -l $patchPath/*.zip | wc -l`
if [ 0 = $sumOfPatch ];
then
echo "[`date`]: the patchPackage [`echo $patchPath`] is not existed" >> $installLog
exit 1
fi
#检查当前版本是否可以打当前的补丁
#checkPatchVersion $patchPath
#获取补丁版本号
patchPackageVersion=`ls $patchPath | awk -F "_" '{print $1}'`
#解压补丁压缩包
echo "[`date`]: begin unzip *.zip" >> $installLog
unzip -o $patchPath/*.zip -d $patchPath
# #获取当前操作系统的解压后的补丁文件全路径package
# case $G_OS in
# "Linux") package=`echo "$patchPath/ICDV300R005C06SPC005_LINUX_ICD/Software/LINUX" | awk -F . '{printf $1}'`;;
# "AIX") package=`echo "$patchPath/ICDV300R005C06SPC005_AIX_ICD/Software/AIX" | awk -F . '{printf $1}'`;;
# "HP-UX") package=`echo "$patchPath/ICDV300R005C06SPC005_HP_RX_ICD/Software/HP_RX" | awk -F . '{printf $1}'`;;
# *) echo "[`date`]: the [`echo $G_OS`] patchPackage is not existed" >> $installLog;;
# esac
#获取当前操作系统的解压后的补丁文件全路径package
case $G_OS in
"Linux") package=`echo "$patchPath/""$patchPackageVersion""_LINUX_ICD/Software/LINUX"`;;
"AIX") package=`echo "$patchPath/""$patchPackageVersion""_AIX_ICD/Software/AIX"`;;
"HP-UX") package=`echo "$patchPath/""$patchPackageVersion""_HP_RX_ICD/Software/HP_RX"`;;
*) echo "[`date`]: the [`echo $G_OS`] patchPackage is not existed" >> $installLog;;
esac
#日志记录当前操作系统以及补丁包路径
echo "[`date`]: the os type is [`echo $G_OS`], the package path is [`echo $package`]" >> $installLog
#检查补丁包中是否包含icdcomm,如有则打icdcomm补丁,然后删除icdcomm补丁压缩包
checkAndInstallIcdcomm $package
#检查补丁包中是否包含ctiserver,如有则打ctiserver补丁,然后删除ctiserver补丁压缩包
checkAndInstallCTIServer $package
#检查补丁包中是否包含DLL/lib,如有则打DLL/lib补丁,然后删除DLL/lib补丁压缩包
checkAndInstallDll $package
#检查补丁包中是否包含cti剩余组件,如有则按统一规则打组件补丁,然后删除所有压缩包目录
checkAndInstallComponent $package
#补丁安装完后,判断是否有补丁压缩包目录(防止误删除),有则删除该目录
if [ -d $patchPath ]
then
echo "[`date`]: delete all patch" >> $installLog
# rm -rf $patchPath
fi
echo "[`date`]: upgrade finish" >> $installLog
}
#主函数调用
installCTIPatch $*
相关文章推荐
- Linux(RHEL、CentOS)服务器用Shell脚本来防止SSH和vsftpd暴力破解
- linux使用shell脚本管理其他服务器Tomcat启动停止、自动发布
- Linux服务器安全初始化Shell脚本
- Linux下一个shell脚本中的命令在多个服务器上执行
- Linux(RHEL、CentOS)服务器用Shell脚本来防止SSH和vsftpd暴力破解
- 【转】不看后悔的Linux生产服务器Shell脚本分享
- 不看后悔的Linux生产服务器Shell脚本分享
- Linux 服务器系统监控脚本 Shell【转】
- php 执行linux命令,shell脚本函数,获取服务器运行状态值
- Linux 利用shell脚本远程登录服务器
- 【转】不看后悔的Linux生产服务器Shell脚本分享
- Linux生产服务器Shell脚本
- linux下性能监控shell脚本实现系列一(服务器整体性能监控)
- linux下shell脚本自动上传或下载脚本及远程服务器相关vsftpd iptables配置
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- Linux服务器中被DDOS攻击防御的SHELL防御脚本 .
- Linux生产服务器Shell脚本分享
- Linux服务器中被DDOS攻击防御的SHELL防御脚本
- Linux常用的服务器监控shell脚本
- 不看后悔的Linux生产服务器Shell脚本分享