shell脚本自动化安装

1,自动化配置dns服务器

A主机:

vim dns.sh  

#!/bin/bash  

# 自动化部署dns  

# 1、下载bind  

# 2、修改配置文件  

# vim /etc/named.conf  

# listen-on port 53 { 127.0.0.1;any; };   修改(定位替换)  

# allow-query     { localhost;any; };     修改(定位替换)  

# vim /etc/named.rfc1912.zones (最后追加)  

# zone "baibai.com" IN {  #       type master;  

#       file "baibai.com.zone";  

#       allow-update { none; };  

#};  

# 3、创建zone文件  

# cd /var/named/  

# cp -p named.localhost baibai.com.zone  

# 4、修改zone文件  

# vim baibai.com.zone

# www     A       10.0.0.100     (最后追加)  

# 5、重启服务  

# systemctl restart named

yum -y install bind  

sed -i '/listen-on/ s/127.0.0.1;/127.0.0.1;any;/' /etc/named.conf  

sed -i '/allow-query/ s/localhost;/localhost;any;/' /etc/named.conf  

sed -i '$a zone "a.com" IN {' /etc/named.rfc1912.zones  

sed -i '$a       type master;' /etc/named.rfc1912.zones  

sed -i '$a       file "a.com.zone";' /etc/named.rfc1912.zones  

sed -i '$a       allow-update { none; };' /etc/named.rfc1912.zones  

sed -i '$a };' /etc/named.rfc1912.zones  

cd /var/named/  

cp -p named.localhost a.com.zone  

sed -i '$a www     A       10.0.0.100'   /var/named/a.com.zone

systemctl restart named

sh dns.sh

B主机:

vim dnscs.sh  

#!/bin/bash  

#测试机测试dns

yum -y install bind-utils  

echo "nameserevr 10.0.0.12" > /etc/resolv.conf

nslookup www.a.com

sh dnscs.sh

2、自动化配置rsync服务

A主机:

ssh-keygen

ssh-copy-id

vim rsync.sh  

#!/bin/bash  

# 自动化部署rsync  

# 先自己做免密  

# 1、下载rsync和inotify-tools软件 yum -y install rsync inotify-tools

# 2、创建共享目录与共享文件   mkdir rsync   touch rsync/file{0..4}  

# 3、修改配置文件 vim /etc/rsyncd.conf (最后面追加)  

# [app]  

# path=/root/rsync/     //项目路径  

# log file=/var/log/rsync.log   //项目日志文件路径  

# 4、重启rsync服务   systemctl restart rsyncd  

# 5、写一个监控脚本   先创建一个文件 touch inotify.sh vim inotify.sh (直接最 后追加插入)  #

#!/bin/bash  

# /usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move /root/rsync | while read events  

# do

# rsync -av --delete /root/rsync root@10.0.0.20:/tmp/  

#   echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1  

# done

# 6、为脚本添加执行权限   chmod +x inotify.sh  

# 7、执行监控脚本并放入后台 nohup ./inotify.sh &

yum -y install rsync

yum -y install inotify-tools  

mkdir rsync  

touch rsync/file{0..4}  

sed -i '$a [app]' /etc/rsyncd.conf  

sed -i '$a path=/root/rsync/' /etc/rsyncd.conf  

sed -i '$a log file=/var/log/rsync.log' /etc/rsyncd.conf

systemctl restart rsyncd  

touch inotify.sh  

echo "#" > /root/inotify.sh  

sed -i '$a #!/bin/bash' /root/inotify.sh  

sed -i '$a /usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move

/root/rsync | while read events' /root/inotify.sh  

sed -i '$a do' /root/inotify.sh  

sed -i '$a rsync -av --delete /root/rsync root@10.0.0.11:/tmp/'

/root/inotify.sh  

sed -i '$a done'  

sed -i '1d' /root/inotify.sh  

chmod +x inotify.sh

nohup ./inotify.sh &

sh rsync.sh

B主机:

测试机测试

rm -rf /tmp/*

ls /tmp/

A主机:

touch /root/rsync/file5

B主机:

测试机测试

ls /tmp/

3、自动化配置FTP服务

A主机:

vim ftp.sh  

#!/bin/bash  

# 1、下载vsftpd软件包   yum -y install vsftpd  

# 2、开启vsftpd服务   systemctl start vsftpd  

# 3、修改vsftpd配置文件   vim /etc/vsftpd/vsftpd.conf   (查找修改)  

# anonymous_enable=NO       //不允许匿名访问  

# local_root=/data/kehu       //指定用户存放文件的路径  

# chroot_local_user=YES       //限定目录  # chroot_list_enable=YES   //开启用户列表文件  

# chroot_list_file=/etc/vsftpd/chroot_list   //指定用户列表文件  

# 4、重启vsftpd服务     systemctl restart vsftpd  

# 5、创建用户   useradd kehu  

# 6、设置用户密码   echo kehu | passwd --stdin kehu  

# 7、创建存放目录   mkdir -p /data/kehu/  

# 8、为用户赋予所有权限   setfacl -R -m u:kehu:rwx /data/kehu/

# 9、将用户放入用户列表文件中,表示不被禁锢   echo kehu >> /etc/vsftpd/chroot_list

yum -y install vsftpd

systemctl start vsftpd  

sed -i '/anonymous_enable/ s/YES/NO/' /etc/vsftpd/vsftpd.conf  

sed -i '/anonymous_enable/ a local_root=/data/kehu' /etc/vsftpd/vsftpd.conf  

sed -i '/chroot_local_user=YES/ s/#//' /etc/vsftpd/vsftpd.conf  

sed -i '/chroot_list_enable=YES/ s/#//' /etc/vsftpd/vsftpd.conf  

sed -i '/chroot_list_file/ s/#//' /etc/vsftpd/vsftpd.conf

useradd kehu  

echo kehu | passwd --stdin kehu  

mkdir -p /data/kehu/

setfacl -R -m u:kehu:rwx /data/kehu/

echo kehu >> /etc/vsftpd/chroot_list

systemctl restart vsftpd

sh ftp.sh

B主机:

测试机测试

yum -y install ftp

ftp 10.0.0.10

kehu

kehu

4、自动化配置frp的服务器端与客户端

A主机:

vim frp.sh  

#!/bin/bash  

# 1、确保本机中有软件包 frp_0.33.0_linux_amd64.tar.gz  

# 2、解压软件包 tar -zxvf frp_0.33.0_linux_amd64.tar.gz  

# 3、切换到解压后的目录中   cd frp_0.33.0_linux_amd64/  

# 4、修改配置文件   vim frps.ini   (全部追加)  

# dashboard_user=aaa  # dashboard_pwd=aaa  

# dashboard_port=7500  

# 5、启动frp服务   ./frps -c frps.ini

tar -zxf frp_0.33.0_linux_amd64.tar.gz  

cd frp_0.33.0_linux_amd64/  

sed -i '$a dashboard_user=aaa' frps.ini  

sed -i '$a dashboard_pwd=aaa' frps.ini  

sed -i '$a dashboard_port=7500' frps.ini

./frps -c frps.ini sh frp.sh

B主机:

vim frpcs.sh  

#!/bin/bash

# 测试机测试frp服务器  

# 1、解压软件包  

# 2、切换到目录中  

# 3、修改配置文件 vim frpc.ini  

# [common]  

# server_addr = 10.0.0.20  

# server_port = 7000  

# [lijiaqi]  # type = tcp  

# local_ip = 127.0.0.1  

# local_port = 22

 # remote_port = 6064  

# 4、启动frp客户端服务 ./frpc -c frpc.ini

tar -zxf frp_0.33.0_linux_amd64.tar.gz  

cd frp_0.33.0_linux_amd64  

sed -i '/server_addr/ s/127.0.0.1/10.0.0.10/' frpc.ini  

sed -i '/[ssh]/ s/ssh/baibai/' frpc.ini  

sed -i '/remote_port/ s/6000/6035/' frpc.ini

./frpc -c frpc.ini

sh frpcs.sh

5、自动化配置samba共享 

A主机:

vim samba.sh  #!/bin/bash  

# 自动化配置samba共享  

# 1、下载samba软件   yum -y install samba  

# 2、修改samba配置文件 vim /etc/samba/smb.conf   (直接最后追加)  

# [smb_share]     //这是共享的名称,客户端在访问时会看到这个名称。  

#     comment = samba service   //这是对该共享的注释说明,用于提供一些描述信息,这 里说明是“Samba 服务”  

#     path = /samba         //指定了实际共享的目录路径为`/bakpu`  

#     guest ok = no         //表示不允许访客访问,只有经过授权的用户才能访问  #     writable = yes       //表示允许对该共享目录进行写入操作  

# 3、创建共享目录   mkdir /samba  

# 4、添加samba用户   useradd user01  

# 5、为用户设置密码   smbpasswd -a user01  

# 6、为用户赋予所有权限   setfacl -m u:user01:rwx /bakpu/*  

# 7、启动nmb服务 systemctl start nmb.service  

# 8、启动smb服务   systemctl start smb.service

yum -y install samba  

sed -i '$a [smb_share]' /etc/samba/smb.conf

sed -i '$a comment = samba service' /etc/samba/smb.conf  

sed -i '$a path = /samba' /etc/samba/smb.conf  

sed -i '$a path = /samba' /etc/samba/smb.conf

sed -i '$a guest ok = no' /etc/samba/smb.conf  

sed -i '$a writable = yes' /etc/samba/smb.conf  

mkdir /samba

useradd user01  

echo "现在请您输入你想要设置的账户密码:

" smbpasswd -a user01

setfacl -m u:user01:rwx /samba/

systemctl start nmb.service

systemctl start smb.service

B主机:

测试机测试

1、直接windows测试(直接映射)

2、linux主机测试

yum -y install samba-client

smbclient //10.0.0.10/smb_share -U user01

6、自动化配置yum仓库初始化(包括阿里云和epel)

A主机:

vim yum.sh  #!/bin/bash  

# 自动化配置yum仓库初始化(包括阿里云和epel)  

# 1、搭建本地仓库  

# tar -cf /etc/yum.repos.d/yum.repo.tar /etc/yum.repos.d/*  

# rm -rf /etc/yum.repos.d/*  

# vim /etc/yum.repos.d/hh.repo  

# [hh]  # name=hh  # baseurl=file:///mnt  

# gpgcheck=0  # enable=1  

# mount /dev/cdrom /mnt  

# 2、下载wget软件 yum -y install wget  

# 3、在阿里云官网wget下载阿里云镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo  

# 4、下载epel,创建epel仓库   yum -y install epel-release.noarch  

# 5、清除缓存 yum clean all 创建缓存 yum makecache

tar -cf /etc/yum.repos.d/yum.repo.tar /etc/yum.repos.d/*  

rm -rf /etc/yum.repos.d/*

echo "#" > /etc/yum.repos.d/hh.repo  

sed -i '$a [hh]' /etc/yum.repos.d/hh.repo                

sed -i '$a name=hh' /etc/yum.repos.d/hh.repo  

sed -i '$a baseurl=file:///mnt' /etc/yum.repos.d/hh.repo                

sed -i '$a gpgcheck=0' /etc/yum.repos.d/hh.repo                

sed -i '$a enable=1' /etc/yum.repos.d/hh.repo                

sed -i '1d' /etc/yum.repos.d/hh.repo

yum -y install wget  wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

yum -y install epel-release.noarch

yum clean all

yum makecache

7、自动化配置nfs服务

A主机:

vim nfs.sh  #!/bin/bash  

# 自动化配置nfs服务  

# 1、下载nfs软件与依赖软件 yum -y install nfs-utils.x86_64 rpcbind.x86_64  

# 2、创建共享目录 mkdir /nfsshare  

# 3、编辑配置文件指定要暴露的目录 vim /etc/exports (这是个新文件,直接追加最后)  

# /nfsshare   *(rw,sync)

yum -y install nfs-utils.x86_64 rpcbind.x86_64  

mkdir /nfsshare  

echo "#" > /etc/exports  

sed -i '$a /nfsshare *(rw,sync)' /etc/exports  

sed -i '1d' /etc/exports

systemctl start nfs-server sh nfs.sh

B主机:

测试机测试

yum -y install nfs-utils.x86_64

mkdir /nfs

mount -t nfs 10.0.0.10:/nfsshare /nfs

ls /nfs

8、自动化配置ntp服务

A主机: vim ntp.sh  

#!/bin/bash  

# 自动化配置ntp服务  

# 1、下载ntp软件   yum -y install ntp.x86_64  

# 2、修改ntp配置文件   vim /etc/ntp.conf  

# 15行加入   restrict 10.0.0.0 mask 255.255.255.0   //允许10.0.0.0网段的主机访 问  

# 3、与官方时间服务器同步时间 ntpdate cn.ntp.org.cn  

# 4、启动ntp服务 systemctl start ntpd  

# 5、编辑计划任务定时同步时间 crontab -e  

# * 4 * * * /usr/sbin/ntpdate cn.ntp.org.cn

yum -y install ntp.x86_64  

sed -i '/restrict ::1/a restrict 10.0.0.0 mask 255.255.255.0' /etc/ntp.conf

ntpdate cn.ntp.org.cn

systemctl start ntpd  

echo "您现在可以编辑一个定时任务用于定时向官方时间服务器同步时间,以防止您当前的时间服务 器时间错误"  

echo "你可以输入以下命令来编辑一个定时任务"  

echo "1、crontab -e"  

echo "2、* 4 * * * /usr/sbin/ntpdate cn.ntp.org.cn"  

echo "该命令为每到4点时就进行一次时间同步"

sh ntp.sh

B主机:

测试机测试

date

date -s "2014-07-28 00:00"

ntpdate 10.0.0.10

date

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值