在Centos 上创建自动部署服务器的脚本

安装条件:

CentOS 系统

Centos 6.3 的 ISO 路径: /install/iso/CentOS-6.3-x86_64-bin-DVD1.iso。修改ISO为Centos 6.x版本的iso后就可以适用于6.x的各版本。就是下面这一行:

mount -o loop /install/iso/CentOS-6.3-x86_64-bin-DVD1.iso /media/cdrom

IP地址范围是172.17.80.0-172.17.95.254,掩码是255.255.240.0。部署服务器IP为172.17.80.250。可以根据需要修改相应的IP地址和DHCP配置。

install.sh

#!/bin/sh
echo "
Start Install Steven xie(mxcz.net) Install Server
		Please First Copy CentOS-6.3-x86_64-bin-DVD1.iso---/install/iso/CentOS-6.3-x86_64-bin-DVD1.iso
"
read -n 1 -p "Press any key to continue..."
setenforce 0
sed -i "s/SELINUX=enforcing.*$/SELINUX=disabled/" /etc/selinux/config
service iptables stop
chkconfig iptables off

echo "
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=172.17.80.250
NETMASK=255.255.240.0
GATEWAY=172.17.80.250
">/etc/sysconfig/network-scripts/ifcfg-eth0

service network restart

mount -o loop /install/iso/CentOS-6.3-x86_64-bin-DVD1.iso /media/cdrom
yum --disablerepo=\* --enablerepo=c6-media -y install tftp-server system-config-kickstart dhcp syslinux httpd

#vim /etc/xinetd.d/tftp
echo "
service tftp
{
	disable	= no
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -s /install/tftpboot
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}
">/etc/xinetd.d/tftp

#DHCP
echo "
ddns-update-style none;

#allow booting;
#allow bootp;

option domain-name \"mxcz.net\";
option subnet-mask 255.255.240.0;
option broadcast-address 172.17.95.255;
option domain-name-servers 172.17.80.250;
option routers 172.17.80.250;

next-server 172.17.80.250;
filename \"pxelinux.0\";

subnet 172.17.80.0 netmask 255.255.240.0 {
	range dynamic-bootp 172.17.80.1 172.17.95.254;
}
">/etc/dhcp/dhcpd.conf
/etc/init.d/dhcpd restart

mkdir -p /install/tftpboot
/etc/init.d/xinetd restart
chkconfig xinetd on
chkconfig tftp on
netstat -tulnp | grep xinetd

cp /usr/share/syslinux/menu.c32  /usr/share/syslinux/vesamenu.c32 /usr/share/syslinux/pxelinux.0 /install/tftpboot/
mkdir /install/tftpboot/pxelinux.cfg

mkdir -p /install/tftpboot/kernel/centos6.3
cp /media/cdrom/isolinux/vmlinuz /install/tftpboot/kernel/centos6.3
cp /media/cdrom/isolinux/initrd.img /install/tftpboot/kernel/centos6.3
cp /media/cdrom/isolinux/isolinux.cfg /install/tftpboot/pxelinux.cfg/

#vim /install/tftpboot/pxelinux.cfg/default
echo "
UI vesamenu.c32
TIMEOUT 0
MENU TITLE Welcome to mxcz PXE Server System
menu background ./back800.jpg
menu resolution 800 600
LABEL LOCAL
	menu hide
	MENU LABEL Boot from local drive
	MENU DEFAULT
	localboot 0

LABEL NETWORK
	menu hide
	MENU LABEL Boot from Pxe Server for Install CentOS 6.3
	kernel ./kernel/centos6.3/vmlinuz
	append initrd=./kernel/centos6.3/initrd.img
LABEL kickstart
	MENU LABEL AUTO Install CentOS 6.3
	kernel ./kernel/centos6.3/vmlinuz
	append initrd=./kernel/centos6.3/initrd.img ks=http://172.17.80.250/pc.ks ksdevice=eth0
">/install/tftpboot/pxelinux.cfg/default

#yum install httpd
/etc/init.d/httpd start
chkconfig httpd on
mkdir -p /var/www/html/install/centos6.3
#vim /etc/fstab
echo "
/install/iso/CentOS-6.3-x86_64-bin-DVD1.iso /var/www/html/install/centos6.3 iso9660 defaults,loop 0 0
">>/etc/fstab

echo "
# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
text
url --url http://172.17.80.250/install/centos6.3
#url --url ftp://10.0.0.1/install/centos6.3
#nfs --server=10.0.0.1 --dir=/install/nfs/centos6.3
lang zh_CN.UTF-8
keyboard us
#network --onboot yes --device eth0 --bootproto static --ip 172.l7.80.1 --netmask 255.255.240.0 --gateway 172.17.95.254
network --onboot yes --device eth0 --bootproto dhcp --noipv6
network --onboot no --device eth1 --bootproto dhcp --noipv6
network --onboot no --device eth2 --bootproto dhcp --noipv6
network --onboot no --device eth3 --bootproto dhcp --noipv6
rootpw	password
firewall  --disabled
authconfig --enableshadow --passalgo=sha512
selinux  --permissive
timezone Asia/Shanghai

zerombr yes
bootloader --location=mbr --driveorder=sda --append=\"crashkernel=auto rhgb quiet\"

clearpart --all
part /boot --fstype=ext4 --asprimary --size=200
part / --fstype=ext4 --size=51200
part swap --size=32768
part /export --fstype=ext4 --grow --size=1

repo --name=\"mxcz\" --baseurl=http://172.17.80.250/install/centos6.3 --cost=100
#repo --name="CentOS" --baseurl=http://172.17.58.25/centos6.3 --cost=100
#repo --name="salt" --baseurl=http://172.17.58.25/salt --cost=1000

%packages
@chinese-support
@core
@server-policy
@salt
@salt-minion
%end

%post
#!/bin/sh
var=\`ifconfig eth0 |grep -i bcast |awk ‘{print \$2}‘\` 
NUM=\`echo ${var##*.}\` 
sed -i \"s/HOSTNAME.*$/HOSTNAME=wy-80$NUM/\" /etc/sysconfig/network 
STATICIP=\`echo $var|awk -F \":\" ‘{print \$2}‘\` 
sed -i \"s/BOOTPROTO.*$/BOOTPROTO=static/\" /etc/sysconfig/network-scripts/ifcfg-eth0 
echo \"IPADDR=$STATICIP\" >> /etc/sysconfig/network-scripts/ifcfg-eth0 
echo \"NETMASK=255.255.240.0\" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo \"GATEWAY=172.17.95.254\" >> /etc/sysconfig/network-scripts/ifcfg-eth0

#yum install salt --enablerepo=salt -y
#yum install salt-minion --enablerepo=salt -y
#echo \"master:172.17.58.25\">>/etc/salt/minion
">/var/www/html/pc.ks
echo "
install server is ok,please reboot

					mxcz.net
"
时间: 2024-10-11 06:28:06

在Centos 上创建自动部署服务器的脚本的相关文章

linux下实现自动部署tomcat的脚本

linux下实现自动部署tomcat的脚本 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务.备份war包.上传新的war包.启动服务.索性就写了一个自动部署的脚本. 脚本如下autoDeploy.sh: 1 #! /bin/sh 2 echo '####################开始自动部署####################' 3 path=`pwd` #当前路径 4 tomcatPath=tomcat-7 #指定tomcat文件目录名称 5 cd ../$t

Lvs别样的自动部署监控shell脚本

Lvs别样的自动部署监控shell脚本   l 脚本功能: l 实验环境图: l 具体脚本: l 结果验证: l 参考资料: 先申明,本文现在已经在我公司的测试环境和生产测试环境使用.正式环境请用keepalived+lvs. 安装ipvsadm不多说了,先说说脚本的功能,脚本分为redirect server 端和realserver 端,脚本分别为 lvs_redirector.sh 和realserver.sh脚本.另外加一个监控脚本lvs_monitor.sh(此脚本来源网友,做了一点修

4、自动部署(通过脚本把名称服务器自动部署到155机上)

1.简单自动生成文本脚本: cat  >  word1.txt  创建文本时 会等待输入,如果想不等待输入,直接生成文本,可以先写个脚本(如:word.sh),把对应的输入写在  +END+     +END+之间.运行脚本就可以生成 word1.txt   word2.txt 二个文本了,不需要等待输入. [[email protected] ww]# vi  word.sh      (编写脚本) #! /bin/bash cat > word1.txt << +END+ wo

在CentOS 上卸载vsftpd FTP服务器

Linux 上卸载vsftpd FTP服务器 1.是否安装了vsftpd [[email protected] ~]# rpm -qa|grep vsftpd vsftpd-2.2.2-14.el6.i686 2.停止vsftpd服务 /bin/sytemctl stop vsftpd.service 3.rpm命令进行清除 rpm -e vsftpd-2.2.2-14.el6.i686 4.残留文件清理 可以使用命令:find / -name '*vsftpd*' 查找是否包括vsftpd字样

在Centos上Rpm模式部署Mysql

本文环境如下: 操作系统:CentOS 6.6 64位 Mysql版本:MySQL 5.7 64位 一.         安装软件 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ ,选择Red Hat Enterprise Linux 6 / Oracle Linux 6(Architecture Independent), RPM Package版本 下载rpm软件 wget "https://dev.mysql.c

CentOS 上配置 lua 的服务器环境(enet)

安装 lua & luarocket 安装依赖 $ yum install gcc gcc-c++ kernel-devel $ yum install readline-dev $ yum install ncurses-devel.i386 下载并编译lua源文件 $ wget http://www.lua.org/ftp/lua-5.1.4.tar.gz $ tar zxvf lua-5.1.4.tar.gz $ cd lua-5.1.4 $ make linux 下载并安装 luaroc

Oracle在PLSQL Developer上创建表空间和用户脚本

oracle数据库还原,如何将dmp文件还原到oralce库 最近用到从oracle的dmp文件中还原数据 由于没有这方面的资料,在网上搜集了一些,相信有以下这些资料,我们可以成功地将dmp文件用命令行的方式还原回去 在这里我用的是oracle10g的版本,我的机器是512内存的,运行oracle的web管理程序有一些困难,所以我选择通过命令行的方式, 以下我的安装完成后,oracle给出的报告 Enterprise Manager Database Control URL - (orcl) :

FastDFS 自动部署和配置脚本

写了一个自动安装和配置FastDFS的脚本,还没有写好关于nginx的配置.先贴上,如下: 自动安装FastDFS,(这部分是之前同事写好的) #!/bin/bash #instll gcc echo "================== install gcc ==================" cd ./gccRpm ./gccInstall.sh cd .. echo "================== gcc installed ==============

自动部署ftp服务脚本

基本都有了,需要使用的拿出来组合就OK了 /etc/pam.d/vsftpd                              #PAM认证配置文件 /etc/vsftpd/ftpusers                           #黑名单用户列表 /etc/vsftpd/user_list                          #用户列表(黑白可调) /etc/vsftpd/vsftpd.conf                     #主配置文件 yum -