ansible远程控制

环境:一台centos7,一台centos6.5

实验步骤:

centos7的服务器上:

.准备工作

1.关闭selinux ,清空默认防火墙策略,桥接物理网络。

setenforce 0

ifconfig

systemctl restart sshd

iptables -F

2.安装远程登陆的依赖关系包。

yum -y install openssl openssl-devel

3.安装ansible。(确保有离线的ansible软件包)

mkdir /yum

mv /etc/yum.repos.d/* /yum/

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

[yum]

name=yum

baseurl=file:///root/ansibleRPM

enabled=1

gpgcheck=0

 

cd ansibleRPM/

rm -rf repodata/

createrepo /root/ansibleRPM/

cd

yum -y install ansible

4.删除冲突环境python2包

rpm -qa | grep python

rpm -e python2-cryptography –nodeps

5.查看ansible版本,确认安装成功

ansible --version

6.修改ansible服务器的配置文件,链接被控服务器

vim /etc/ansible/hosts

在最后一行添加:

[webserver] ——对方服务器名称

192.168.6.112  ——对方IP地址

7.设置密钥ssh远程登陆,因为ansible是通过22端口对其他服务器进行控制的,所有必须要进行密钥认证,要不然当执行的时候还的进行密码验证,而密钥链接是不需要验证密码的。

ssh-keygen

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.6.112

ssh 192.168.6.112

8.测试是否可以链接被控服务器。

ansible -m ping 'webserver'

.正式开始

注意:与上边的题的编号想对应

1.设置客户机每天晚上11点重启httpd服务

ansible webserver -m cron -a 'hour=23 job="/sbin/service httpd restart"'

2.设置客户机每天凌晨3点清空/tmp目录

ansible webserver -m cron -a 'hour=3 job="/bin/rm -rf /tmp/*"'

3.设置客户机创建用户nginx,并且禁止登录系统

ansible webserver -m user -a 'name=nginx  shell=/sbin/nologin"'

4. 设置客户机创建账户zhangsan,密码为123.com,加入wheel组

ansible webserver -m user -a 'name=zhangsan password="$1$7DZX5yEx$7P1Qu9JYTHoxKEVwWBaoF0" groups=wheel'

5. 删除客户机上的mysql用户

ansible webserver -m user -a 'name="mysql" state=absent'

6. 为客户机创建邮件组postfix,gid为1500

ansible webserver -m group -a 'name=postfix gid=1500'

7. 将zhangsan加入邮件组

ansible webserver -m user -a 'name=zhangsan group=postfix'

8. 将客户机/etc/yum.repos.d/下的所有移动到客户机的/root目录下 shell模块实现

ansible webserver -m shell -a 'mv /etc/yum.repos.d/* /root/'

9. 将ansible主机上的docker.repo(自行创建)复制到客户机的/etc/yum.repos.d目录下

ansible webserver -m copy -a 'src=/etc/yum.repos.d/yum.repo dest=/etc/yum.repos.d/ mode=0750 owner=root group=root'

10. 修改客户机/root/install.log的权限为777

ansible webserver -m file -a 'path=/root/install.log mode=777'

11. 设置客户机/etc/httpd/conf/httpd.conf软连接到/root/目录下

ansible webserver -m file -a 'path=/root/xx.txt src=/etc/httpd/conf/httpd.conf state=link'

12. 设置客户机的httpd服务随系统启动,且开启

ansible webserver -m service  -a 'enabled=true name=httpd state=started'

13. 编写一个打包/var/logs目录的shell脚本,然后为客户机执行它。

vim haha.sh

添加;

#!/bin/bash

tar zcf /root/rizhi.tar.gz /var/log

 

ansible webserver -m script -a '/root/haha.sh'

14. 重定向客户机磁盘空间占用量到ansible机器的/root/disk.log文件内

ansible webserver -a 'df -hT' > /root/disk.log

cat disk.log

posted @ 2018-03-12 15:54  Leonardo-li  阅读(1312)  评论(0编辑  收藏  举报