Shell脚本(5)
Shell脚本应用-初始化系统
WANG-A公司近期有新业务要上线,购买了一批服务器并批量安装了Linux系统。为节省工作量,运维人员需要通过正则表达式编写一个名为initalize.sh的系统初始化脚本,对多台服务器进行系统初始化。
可以运用技术:grep,sed,awk
配置本地yum源,方便后期安装。
锁定关键的系统文件,如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow等文件。
清空/etc/issue,去除系统及内核版本登录前的屏幕显示。
定时清理/var/spool/clientmqueue/目录下的垃圾文件,防止Inodes节点被占满。
关闭selinux并设置系统语言编码为utf-8。
编写initalize.sh脚本文件
vi initalize.sh
#!/bin/bash
cdrom=/dev/cdrom
dir=/mnt
yum=/etc/yum.repos.d
issue=/etc/issue
lang=/etc/locale.conf
if [ ! -d $dir ]
then
mkdir -p $dir
fi
mount $cdrom $dir &>/dev/null
cd $yum
if [ ! -d $yum/repo/ ]
then
mkdir $yum/repo/
fi
mv *.repo repo
mv CentOS-Base.repo $yum
echo "[base] name=CentOS-Base baseurl=file:///mnt gpgcheck=0\enabled=1" > CentOS-Base.repo
yum clean all &>/dev/null
yum makecache &>/dev/null
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow &>/dev/null
echo "" > $issue
rm-rf /var/spool/clientmqueue/
sed -i 's/enforcing/disabled/g' /etc/selinux/config
sed -i 's/LANG="zh_CN\.UTF-8"/LANG="zh_CN\.UTF-8"/' $lang

执行initalize.sh对系统进行初始化。
chmod +x initalize.sh
./initalize.sh





脚本是没问题的
浙公网安备 33010602011771号