ansible 拷贝文件并重启服务
Ansible 安装
[adservers]
172.20.0.70
客户端 建立一个脚本
[root@adserver4 sh]# cat /data/sh/adserver_update.sh
#!/bin/bash
pidno=`ps aux|grep adserver-beta|grep -v "grep"|awk '{print $2}'`
kill -9 $pidno
if [ $? -ne 0 ]; then
echo "old adserver kill failed"
exit 1
fi
sleep 5
adserverpid=`ps aux|grep adserver-beta|grep -v "grep"|awk '{print $2}'`
if [ "$adserverpid" ];then
echo "new version adserver is running now"
fi
建立另外一个脚本
[root@adserver4 sh]# cat /data/sh/packetanal_update.sh
#!/bin/bash
pidno=`ps aux|grep packetAnal|grep -v "grep"|awk '{print $2}'`
kill -9 $pidno
if [ $? -ne 0 ]; then
echo "old packetAnal kill failed"
exit 1
fi
sleep 5
packetpid=`ps aux|grep packetAnal|grep -v "grep"|awk '{print $2}'`
if [ "$packetpid" ];then
echo "new version packetAnal is running now"
fi
配置可执行权限
chmod +x /data/sh/*.sh
服务器上配置 playbook 的yml文件
[root@test-server28 ansible]# cat /etc/ansible/adserver_update.yml
---
- name: handlers adserver
hosts: adservers
user: root
tasks:
- name: copy file
copy: src=/etc/ansible/adserver-beta dest=/data/website/ owner=root group=root mode=0755
notify: adserver handlers
handlers:
- name: adserver handlers
shell: /bin/bash /data/sh/adserver_update.sh
[root@test-server28 ansible]# cat /etc/ansible/packetanal_update.yml
---
- name: handlers adserver
hosts: adservers
user: root
tasks:
- name: copy file
copy: src=/etc/ansible/packetAnal dest=/data/website/ owner=root group=root mode=0755
notify: packetAnal handlers
handlers:
- name: packetAnal handlers
shell: /bin/bash /data/sh/packetanal_update.sh
在客户端上删除 adserver, packetanal文件
执行ansible 分发进程
[root@test-server28 ansible]# ansible-playbook /etc/ansible/packetanal_update.yml
PLAY [handlers adserver] **************************************************************************************************************************************************
TASK [Gathering Facts] ****************************************************************************************************************************************************
ok: [172.20.0.70]
TASK [copy file] **********************************************************************************************************************************************************
changed: [172.20.0.70]
RUNNING HANDLER [packetAnal handlers] *************************************************************************************************************************************
changed: [172.20.0.70]
PLAY RECAP ****************************************************************************************************************************************************************
172.20.0.70 : ok=3 changed=2 unreachable=0 failed=0
显示进程文件分发成功, 进程重新启动
[root@test-server28 ansible]# ansible-playbook /etc/ansible/adserver_update.yml
PLAY [handlers adserver] **************************************************************************************************************************************************
TASK [Gathering Facts] ****************************************************************************************************************************************************
ok: [172.20.0.70]
TASK [copy file] **********************************************************************************************************************************************************
changed: [172.20.0.70]
RUNNING HANDLER [adserver handlers] ***************************************************************************************************************************************
changed: [172.20.0.70]
PLAY RECAP ****************************************************************************************************************************************************************
172.20.0.70 : ok=3 changed=2 unreachable=0 failed=0
ansible 拷贝文件并重启服务的更多相关文章
- Ansible 拷贝文件或目录
写法如下: [root@localhost ~]$ ansible 192.168.119.134 -m copy -a "src=/etc/passwd dest=/tmp/passwd ...
- Ansible拷贝文件遇到的问题
ansible报错Aborting, target uses selinux but python bindings (libselinux-python) aren't installed 报错内容 ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- 使用rcp命令实现从远程机器拷贝文件
rcp:远程文件复制 使用rcp命令可以在远程主机之间复制文件,如果同时指定2个以上的文件或目录,且最后的目的地是一个已经存在的目录,则他会把前面指定的所有文件或目录复制到该目录中. rcp命令语法: ...
- Java FtpClient 实现文件上传服务
一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...
- Mac OS X下高速拷贝文件路径
文件路径表示的是文件在文件系统里的位置,无论是用命令行操作的Linux程序猿还是使用windows的广大用户.都难免会有这种需求 在windows上复制当前文件夹的路径有一个特别方便的方式,仅仅须要用 ...
- Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务
RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Li ...
- 在CentOS 7中启动/停止/重启服务
RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Li ...
- linux系统,服务器与服务器拷贝文件
服务器与服务器拷贝文件命令 scp -P (服务器端口)-r 拷贝文件名称列表 远程服务器用户@远程服务器ip :(文件放置目录) 1.将本地home目录下的apache-tomcat-8.0. ...
随机推荐
- element-ui中upload组件如何传递文件及其他参数
最近项目用到了vuethink,里面集成了element-ui,之前一直用的是bootstrap框架,对js也是一知半解,然后也用过vue.js,但也是学的不通透的,然后就各种入坑. 下面就分析一下我 ...
- 解决无限 This file is indented with tabs instead of 4 spaces
File -> Settings -> Editor -> Code Style -> Java -> Tabs and Indents -> Use tab ch ...
- vuethink 配置
http://blog.csdn.net/hero82748274/article/details/76100938 vuethink 是一款基于PHP TP5和Vuejs 结合的后台框架,设计起来是 ...
- 分享整理的免费API接口
天气接口 聚合数据: http://op.juhe.cn/onebox/weather/query 用例 官方文档 来源:weather.com 百度接口: http://api.map.baidu. ...
- Number()和new Number()的区别以及一种简单实现
看MDN Beginners文档的时候注意到了这种用法 var n1 = Number(123); , 冒出的第一个疑问就是和 var n2 = new Number(123); 有什么区别呢? 首先 ...
- IIS命令行管理工具使用
AppCmd.exe工具所在目录 C:\windows\sytstem32\inetsrv\目录下 一条命令批量添加应用程序 c:\Windows\System32\inetsrv>for /d ...
- python_猜年龄
猜年龄,有三次机会,如何做? 1. 检查 输入的数据是否合法,通过异常try来处理,并记录 输入错误次数 2. 通过累加器,判断是否猜了3次,并提示还剩余多少的机会 3. 当3次错误,跳出 #!/us ...
- 输入和输出--File类
输入和输出 写在前面的:Java中的输入和输出还是比较重要的,之前我都没想整理IO和多线程的,但是在研究后面的好多东西时候,经常要读取资源文件,这个时候就不得不回过头来整理IO了.要玩熟Java的输入 ...
- 基于Elasticsearch搜索平台设计
背景 随着公司业务的高速发展以及数据爆炸式的增长,当前公司各产线都有关于搜索方面的需求,但是以前的搜索服务系统由于架构与业务上的设计,不能很好的满足各个业务线的期望,主要体现下面三个问题: 不能支持对 ...
- java面向对象基础(四):抽象类和接口
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...