首页 > 代码库 > 1.创建管理机:ntp

1.创建管理机:ntp

创建管理机m01:ntp

# optimization by onekey

sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#‘ /etc/selinux/config

grep SELINUX=disabled /etc/selinux/config

setenforce 0

getenforce

/etc/init.d/iptables stop

/etc/init.d/iptables stop

chkconfig iptables off

chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk ‘{print "chkconfig",$1,"off"}‘|bash

useradd oldboy

\cp /etc/sudoers /etc/sudoers.bak

echo "oldboy ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

tail -l /etc/sudoers

visudo -c

echo ‘export TMOUT=1800‘ >> /etc/profile

echo ‘export HISTSIZE=5‘  >> /etc/profile

echo ‘export HISTFILESIZE=5‘ >> /etc/profile

. /etc/profile

echo ‘*                -       nofile          65535‘ >> /etc/security/limits.conf

echo ">/etc/udev/rules.d/70-persistent-net.rules" >>/etc/rc.local

#about selinux

cat >> /etc/sysctl.conf <<EOF

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_keepalive_time = 600

net.ipv4.ip_local_port_range = 4000   65000

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384

net.core.netdv_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

net.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established = 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

EOF


#set ip and hosts for m01

cat >/etc/sysconfig/network-scripts/ifcfg-eth0<<EOF

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=10.0.0.61

NETSK=255.255.255.0

GATEWAY=10.0.0.2

nameserver=202.96.128.86

EOF

cat >/etc/sysconfig/network-scripts/ifcfg-eth1 <<EOF

DEVICE=eth1

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

IPADDR=172.16.1.61

NETSK=255.255.255.0

EOF

cat >/etc/sysconfig/network<<EOF

NETWORKING=yes

HOSTNAME=m01

EOF

hostname m01

cat >/etc/hosts <<EOF

127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4

::1          localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.5   lb01

172.16.1.6   lb02

172.16.1.7   web02

172.16.1.8   web01

172.16.1.31  nfs01

172.16.1.41  backup

172.16.1.51  db01

172.16.1.61  m01

EOF

#/etc/init.d/network reload


#make some dir

mkdir -p /server/scripts /server/tools /application /backup


reboot

====================================================================================================


#yum repo and epel

yum -y install  wget

\cp /etc/yum.repos.d/CentOS-Base.repo{,.backup}

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum clean all

yum makecache

#setup some tools and develpment

yum -y install lrzsz nmap tree dos2unix nc expect 

yum groupinstall -y "Base" "Compatibility libraries" "Debugging Tools" "Development tools"


#setup ntp serverce

yum -y install ntp  ntpdate

###rpm -qa |grep ntp

###grep -Ev ‘^$|^#‘ /etc/ntp.conf

\cp /etc/ntp.conf{,.bak}

cat >/etc/ntp.conf<<EOF

driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1

restrict 172.16.1.0 mask 255.255.255.0 nomodify

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

EOF

/etc/init.d/ntpd start

chkconfig ntpd on

###ntpq -p


=========================================================================================

#手动rz相关软件包到/server/tools 再进行下一步!

#sleep one day       waitting for every server’ip is ok! then fenfa ssh-key and scripts     

cd /server/scripts/

cat >/server/scripts/fenfa_sshkey.exp<<EOF

#!/usr/bin/expect

if { \$argc != 2 } {

        send_user "usage: expect fenfa_sshkey.exp file host\n"

        exit

}


#defile var

set file [lindex \$argv 0]

set host [lindex \$argv 1]

set password "19901212"

spawn ssh-copy-id -i \$file \$host

expect {

        "yes/no" {send "yes\r";exp_continue}

        "*password" {send "\$password\r"}

}

expect eof


exit -onexit {

        send_user "root say good bye to you!\n"

}

#scripts userage

#usage: expect fenfa_sshkey.exp file host

#example

#expect fenfa_sshkey.exp file host

#expect fenfa_sshkey.exp ~/scripts 172.16.1.8

EOF

cat >/server/scripts/auto_deploy.sh<<EOF

#!/bin/sh

. /etc/init.d/functions

###1.create key

IP=\$(ifconfig eth1|awk -F "[ :]+" ‘NR==2{print \$4}‘)

ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa &>/dev/null

if [ \$? -eq 0 ];then

        action "create dsa at \$IP" /bin/true

else

        action "create dsa at \$IP" /bin/false

        exit 1

fi

###2.fenfa key

for ip in 5 6 7 8 31 41 51

do

        expect fenfa_sshkey.exp ~/.ssh/id_dsa.pub 172.16.1.\$ip &>/dev/null

        if [ \$? -eq 0 ];then

                action "fenfa ssh_key to 172.16.1.\$ip" /bin/true

        else

                action "fenfa ssh_key to 172.16.1.\$ip" /bin/false

        fi

done

###3.scp scripts and tools

for n in 5 6 7 8 31 41 51

do

        scp -P 22 -rp /server/scripts 172.16.1.\$n:/server

        scp -P 22 -rp /server/tools 172.16.1.\$n:/server  &

done

###4.install service and rm ssh_key

for m in  5 6 7 8 31 41 51

do

        #ssh -t -p 22 172.16.1.\$m sudo /bin/sh /server/scripts/install.sh

        ssh -t -p 22 172.16.1.\$m sudo /bin/rm -fr ~/.ssh/

done

rm -fr ~/.ssh/

EOF



sh auto_deploy.sh



scp -i分发密钥 批量分发脚本和软件  成功!


客户端的配置:

  第一步,客户端安装NTP服务:

  yum install -y ntp


  第二步,同步时间:

  ntpdate   服务器IP或者域名

http://blog.csdn.net/iloli/article/details/6431757


客户端更新时间的定时任务命令:

#set ntp cron

echo ‘#time sync by NTP Server at 20170608‘ >>/var/spool/cron/root

echo ‘*/5 * * * * /usr/sbin/ntpdate 172.16.1.61 >/dev/null 2>&1‘ >>/var/spool/cron/root

crontab -l


普通机器更新时间

\cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    #设置上海时区

ntpdate us.pool.ntp.org                                #更新时间

crontab -e                                             #创建定时更新时间的任务

*/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org




1.创建管理机:ntp