[svc]ansible实现备份 实现发邮件 远端解压
来源:互联网 发布:做家常菜的软件 编辑:程序博客网 时间:2024/06/15 21:41
后续会陆陆续续本着简单到复杂,从语法到应用案例,大道至简的原则来搞搞ansible。
1.远端解压.将远端的压缩包解压到远端某个目录
- hosts: nodexx remote_user: root vars: - dfpath: "/backup/scm-data/" tasks: - name "this vm restore scm data to test data on app" unarchive: src: /tmp/etc.tar.gz #可以是url,从网上下载 dest: /root remote_src: "{{ dfpath }}"
2,远端压缩,并取回
- hosts: nodexx remote_user: root vars: - sfpath: "/backup/scm-data/*_$(date +%F)_scmdata.tar.gz" - dfpath: "/backup/scm-data/" - name: Package | make /root/.scm to tar.gz package on node14 raw: cd /root && tar zcf /data/backup/scm-data/`ifconfig|sed -n '2p'|awk -F':' '{print $2}'|awk '{print $1}'`_$(date +%F)_scmdata.tar.gz .scm - name: Download | copy nodexx's tar.gz to ansible vm([this vm] /data/scm-data) synchronize: src: "{{ sfpath }}" dest: "{{ dfpath }}" mode: pull#注意使用连这执行命令 如 cd / && echo 1>1.txt ,shell不好使,需要使用raw模块
#带变量的定义
3,利用mail模块发邮件
- hosts: nodexx remote_user: root - name: sendMail to op mail: host: smtp.sina.com port: 25 username: xxx@sina.com password: xxx from: xxx@sina.com (lannymxl) to: Jack <Jackma@gmail.com> # cc: John Doe <j.d@example.org>, Suzie Something <sue@example.com> # cc: Wang Wu <wangwu@gmail.com>, Li Si <Lisi@163.com> attach: /etc/fstab /etc/hosts subject: Backup-scm successfully body: 'System {{ ansible_hostname }}-192.168.x.x from 192.168.x.x scm-backup has been successfully provisioned.'
4,从scm主机每天备份,备份完事后发邮件--ansible实现
- hosts: nodexx-scm remote_user: root vars: - sfpath: "/backup/scm-data/*_$(date +%F)_scmdata.tar.gz" - dfpath: "/backup/scm-data/" tasks:#清理远端的压缩包,远端进保留一天scm-data.tar.gz 2,远端打包并将压缩包取回 - name: Clean | keeping [scm-server-node14]'s /backup/scm-data dir only have one tar pkg shell: find /backup/scm-data/ -name "*.tar.gz" -type f -mtime|xargs rm -f - name: Package | make /root/.scm to tar.gz package on node14 raw: cd /root && tar zcf /data/backup/scm-data/`ifconfig|sed -n '2p'|awk -F':' '{print $2}'|awk '{print $1}'`_$(date +%F)_scmdata.tar.gz .scm - name: Download | copy node14's tar.gz to ansible vm([this vm] /data/scm-data) synchronize: src: "{{ sfpath }}" dest: "{{ dfpath }}" mode: pull # 远程解压 # - name "this vm restore scm data to test data on app" # unarchive: # src: "{{ dfpath }}" # dest: /root # remote_src: True- hosts: localhost remote_user: root tasks: #清理本地scm压缩包,仅保存7天的压缩包. 完事后,发邮件. - name: Keeps scm-data.tar.gz of 7 days in local shell: find /backup/scm-data/ -name "*.tar.gz" -type f -mtime|xargs rm -f - name: sendMail to op mail: host: smtp.sina.com port: 25 username: xxx@sina.com password: xxx from: xxx@sina.com (lannymxl) to: Jack <Jackma@gmail.com> # cc: John Doe <j.d@example.org>, Suzie Something <sue@example.com> # cc: Wang Wu <wangwu@gmail.com>, Li Si <Lisi@163.com> attach: /etc/fstab /etc/hosts subject: Backup-scm successfully body: 'System {{ ansible_hostname }}-192.168.x.x from 192.168.x.x scm-backup has been successfully provisioned.'
0 0
- [svc]ansible实现备份 实现发邮件 远端解压
- C#实现发邮件
- 发邮件--实现部分
- python 发邮件实现
- matlab实现发邮件
- ios实现发邮件
- java实现发邮件
- Java 实现发邮件
- python实现发邮件
- 发邮件的实现
- Python实现发邮件
- python实现发邮件
- ASP实现自动发邮件
- Asp.Net实现发邮件
- C#实现自动发邮件
- james 实现已发邮件
- java发邮件的实现
- Java发邮件功能实现
- Spring MVC 后台JAVA控制层如何 获取form 提交的参数
- at91sam260ek启动方式
- Java安装的教程
- rdesktop使用参数解析
- Android设置系统亮度
- [svc]ansible实现备份 实现发邮件 远端解压
- Problem : 平面上的点和线——Point类、Line类 (III)
- Conda常用命令整理
- java.sql.SQLException: 无效的列类型
- java验证身份证号格式
- Jquery监测input内容变化
- iframe的一些记录
- C++笔记
- 计算机网络-网络层