对于脚本我更喜欢的是把他们每一个模块化以后再应用到其他不同的脚本中这样1是提高了脚本的可读性,2是提高了这个脚本的利用率。
先说模块化的脚本吧,
一。自动更新系统的yum源。
当你每次装完一个新的系统的时候就需要配置一次yum源,那么你在企业中装了n台机器呢(使用PXE+LFTP+VSFTP+KICKSTART)这个脚本尤其适合批量的网络安装。
#!/bin/bash
#function change system yum source
#history
#name:change_yum.sh
#ningyanke 20120111
functionyum() {
cat << EOF
+--------------------------------------------------------------+
+------change system yum source. ------+
+--------------------------------------------------------------+
EOF // cat <<EOF设置能够多行输出
#1.做好原来的备份
YY=`date +%y`
MM=`date +%m`
DD=`date +%d`
cd /etc/yum.repos.d/
cp * CentOS-Base.repo.ori.$YY$MM$DD //做一个备份,使用的是centos的系统,可更改。
#2.下载网易的centos的源文件
ping -c 1 baidu.com >/dev/null
[ ! $? -eq 0 ] && echo $"Networking not configured - exiting" && exit 1 //测试网络的联通性能
wget --quiet -o /dev/null http://mirrors.sohu.com/help/CentOS-*.repo //可以更改选择系统是32位还是64位
#如果局域网中有一个yum服务器的话,那就在服务器上写好一个文档,使用vsftp的方式来下载
cp CentOS-*.repo CentOS-Base.repo
echo "SUCCESSFUL"
sleep 3
}
注意:这个脚本可不是你复制就能用的,你需要根据你的系统来修改相关的参数。
2.关闭防火墙和Selinux
#!/bin/bash
#function close selinux iptables
#history
#name:change_iptables_selinux.sh
#ningyanke 20120111
fuctionclose() {cat << EOF
+--------------------------------------------------------------+
+------ close iptables selinux ------+
+--------------------------------------------------------------+
EOF
YY=`date +%y`
MM=`date +%m`
DD=`date +%d`
#1.这个是我为了批量装系统写的一个脚本,如果你只要关闭selinux就可以把他给删除了。
cp /etc/selinux/config /etc/selinux/config.$YY$MM$DD //做备份
/etc/init.d/iptables stop
chkconfig iptables off
#setenforce 0
#2.这个是关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config //更改可以替换的内容
#3.检测
echo "show iptables status"
/etc/init.d/iptables status
selep 3
echo "show selinux status"
sestatus
echo "SUCCESSFUL"
read -p "reboot now:[yes/no]" reno
if [ $reno == yes ];then
reboot
exit 1
else
echo "please remember reboot the computer"
fi
sleep 3
}
注意://这个符号后的注释是我刚写的,所以去掉。
先写两个,明天在接着写。