标签:export lin 基础 file 计划任务 yum 基础环境 install 主机名
rsync nfs sersync httpd
环境:
角色 外网IP(NAT) 内网IP(LAN) 主机名 Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backup NFS&Sers服务端 eth0:10.0.1.41 eth1:172.16.1.41 nfs JUMP SERVER eth0:10.0.1.71 eth1:172.16.1.71 m01 Rsy&NFS客户端 eth0:10.0.1.7 eth1:172.16.1.7 web01 Rsy&NFS客户端 eth0:10.0.1.8 eth1:172.16.1.8 web02
cat /etc/ansible/hosts [backup] 172.16.1.51 [nfs] 172.16.1.41 [web] 172.16.1.7 172.16.1.8 [all:children] backup nfs web
1.基础环境部署
1)firewalld selinux 2)ssh密钥生成以及公钥推送 ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa -C root ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.7 ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.8 ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.41 ssh-copy-id -i ~/.ssh/id_rsa root@172.16.1.51 3)epel源部署 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache 4)安装软件包rsync,nfs-utils ansible all -m yum -a "name=rsync,nfs-utils state=installed" ansible all -m service -a "name=rpcbind state=started enabled=yes" ansible all -m service -a "name=nfs state=started enabled=yes" 5)创建用户,组 ansible all -m group -a "name=www gid=666" ansible all -m user -a "name=www uid=666 group=666 create_home=no shell=/sbin/nologin" 6)创建目录,并修改所属和权限 ansible all -m file -a "path=/data owner=www group=www state=directory" ansible all -m file -a "path=/backup owner=www group=www state=directory" ansible all -m file -a "path=/server/scripts state=directory" 7)创建rsync客户端密码文件 ansible all -m copy -a "content=1 dest=/etc/rsync.pass mode=600" ansible backup -m copy -a "content=‘rsync_backup:1‘ dest=/etc/rsync.passwd mode=600" 8)推送脚本 mkdir -p /server/scripts vim /server/scripts/rsync_backup.sh vim /server/scripts/rsync_check.sh ansible all -m copy -a "src=/server/scripts/rsync_backup.sh dest=/server/scripts/rsync_backup.sh" ansible backup -m copy -a "src=/server/scripts/rsync_check.sh dest=/server/scripts/rsync_check.sh" 9)计划任务 ansible all -m cron -a "name=‘Rsync backup‘ minute=0 hour=1 job=‘/bin/sh /server/scripts/rsync_backup.sh &> /dev/null‘" ansible backup -m cron -a "name=‘Rsync check‘ minute=0 hour=5 job=‘/bin/sh /server/scripts/rsync_check.sh &> /dev/null‘"
2.rsync服务端
1)安装 在基础配置已实现 2)配置 mkdir -p /server/conf vim /server/conf/rsyncd.conf ansible backup -m copy -a "src=/server/conf/rsyncd.conf dest=/etc/rsyncd.conf" 3)启动 ansible all -m service -a "name=rsyncd state=started enabled=yes" ansible backup -m yum -a "name=mailx state=installed" //验证 ansible all -m script -a "/server/scripts/rsync_backup.sh" ansible backup -m script -a "/server/scripts/rsync_check.sh"
3.nfs服务端
1)安装 2)配置 方法1:建议使用 echo ‘/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)‘ > /server/conf/exports ansible nfs -m copy -a ‘src=/server/conf/exports dest=/etc/‘ 方法2: ansible nfs -m copy -a ‘content="/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)" dest=/etc/exports‘ 3)启动 在基础环境已经启动过了,这里重载下配置信息 ansible nfs -m shell -a "exportfs -arv"
web服务器
1)安装 ansible web -m yum -a "name=httpd state=installed" 2)配置 3)启动 ansible web -m service -a "name=httpd state=started" 4)挂载NFS共享存储 ansible web -m mount -a "src=172.16.1.41:/data path=/var/www/html state=mounted fstype=nfs"
4.serysnc
1)安装 #sersync需要依赖inotify和rsync,所以需要安装对应软件 ansible nfs -m yum -a "name=inotify-tools state=installed" #安装sersync ssh root@172.16.1.41 mkdir /server/tools -p cd /server/tools/ wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz mv GNU-Linux-x86/ /usr/local/sersync cd /usr/local/sersync/ 2)配置 vim confxml.xml ... <fileSystem xfs="true"/> #监控对象 false改成true <inotify> #监控信息 <delete start="true"/> <createFolder start="true"/> <createFile start="true"/> <closeWrite start="true"/> <moveFrom start="true"/> <moveTo start="true"/> <attrib start="true"/> <modify start="true"/> <localpath watch="/data"> <remote ip="172.16.1.51" name="data"/> #发送给rsync服务端的data模块 <rsync> <commonParams params="-az"/> #命令选项 <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pass"/> #rsync的认证信息 ... 3)启动 ln -s /usr/local/sersync/sersync2 /usr/bin/ sersync2 -dro /usr/local/sersync/confxml.xml
标签:export lin 基础 file 计划任务 yum 基础环境 install 主机名
原文地址:https://www.cnblogs.com/xmtxh/p/12234729.html