ansible-playbook上传脚本执行并查找匹配文件下载
【摘要】 ansible-playbook上传脚本执行并查找匹配文件下载一,环境说明。 1,IP:192.168.1.20,Centos6,ansible主机。 2,IP:192.168.1.25-28,Centos6,保存sim相关信息,受控机。 3,目标:提取受控机中产生登陆信息的sim号码,并排序去重后打包。 数据样本: /home/aaa/TrackFile/138/5555/6666/202...
ansible-playbook上传脚本执行并查找匹配文件下载
一,环境说明。
1,IP:192.168.1.20,Centos6,ansible主机。
2,IP:192.168.1.25-28,Centos6,保存sim相关信息,受控机。
3,目标:提取受控机中产生登陆信息的sim号码,并排序去重后打包。
数据样本: /home/aaa/TrackFile/138/5555/6666/20211201.txt ,号码分段,有登陆信息后,每日一个文档
二,脚本与YAML文件编写
1,编写simcount.sh脚本,用来统计远程主机的sim号码,并排序去重后打包。
simpwd 是号码登陆信息的保存目录,simcount为上传的脚本保存目录。
#!/bin/bash
# 统计目录下产生信息的sim号码并去重排序,打包。
simpwd='/home/aaaa/TrackFile' #sim信息保存目录
simcount='/home/aaaa/simonline' #统计脚本保存目录
hostip=`/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`
#找出轨迹目录下产生定位的sim号码
find $simpwd -name "202112*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202112.txt
find $simpwd -name "202111*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202111.txt
find $simpwd -name "202110*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202110.txt
find $simpwd -name "202109*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202109.txt
find $simpwd -name "202108*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202108.txt
find $simpwd -name "202107*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202107.txt
find $simpwd -name "202106*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202106.txt
find $simpwd -name "202105*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202105.txt
find $simpwd -name "202104*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202104.txt
find $simpwd -name "202103*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202103.txt
find $simpwd -name "202102*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202102.txt
find $simpwd -name "202101*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202101.txt
#对号码进行去重排序
/bin/sort $simcount/$hostip-202112.txt |/usr/bin/uniq > $simcount/$hostip-sim-202112.txt
/bin/sort $simcount/$hostip-202111.txt |/usr/bin/uniq > $simcount/$hostip-sim-202111.txt
/bin/sort $simcount/$hostip-202110.txt |/usr/bin/uniq > $simcount/$hostip-sim-202110.txt
/bin/sort $simcount/$hostip-202109.txt |/usr/bin/uniq > $simcount/$hostip-sim-202109.txt
/bin/sort $simcount/$hostip-202108.txt |/usr/bin/uniq > $simcount/$hostip-sim-202108.txt
/bin/sort $simcount/$hostip-202107.txt |/usr/bin/uniq > $simcount/$hostip-sim-202107.txt
/bin/sort $simcount/$hostip-202106.txt |/usr/bin/uniq > $simcount/$hostip-sim-202106.txt
/bin/sort $simcount/$hostip-202105.txt |/usr/bin/uniq > $simcount/$hostip-sim-202105.txt
/bin/sort $simcount/$hostip-202104.txt |/usr/bin/uniq > $simcount/$hostip-sim-202104.txt
/bin/sort $simcount/$hostip-202103.txt |/usr/bin/uniq > $simcount/$hostip-sim-202103.txt
/bin/sort $simcount/$hostip-202102.txt |/usr/bin/uniq > $simcount/$hostip-sim-202102.txt
/bin/sort $simcount/$hostip-202101.txt |/usr/bin/uniq > $simcount/$hostip-sim-202101.txt
#对目录进行打包压缩
/bin/tar -cvf $HOME/$hostip-sim.tar $simcount/*.txt #最后打包相关文件
2,编写sim-fetch.yaml,剧本文件,
- name: 统计每月生成信息的号码。
hosts: all
vars:
simtar: "{{ansible_default_ipv4['address']}}" #提取远程主机IP
simdir: "/home/aaaa/simonline/" #脚本所在目录
tasks:
- name: "上传脚本程序"
copy:
dest: "{{simdir}}"
src: /home/ttt/playbook/simcount.sh #ansible主机脚本路径
mode: u+x #上传脚本后,给个执行权限
owner: "aaaa" #脚本所属用户
- name: 执行脚本收集数据。
shell: sh {{simdir}}/simcount.sh #执行脚本
- name: 搜索打包文件
find:
paths: /home/aaaa/ #打包文件保存目录
patterns: "*.tar"
recurse: no
register: sim_fetch #标记打包tar文件路径的变量
- name: 开始批量下载
fetch:
src: "{{ item.path }}"
dest: /home/ttt/playbook/ #tar打包文件下载目录
flat: yes
with_items: "{{ sim_fetch.files }}"
三,执行命令并查看效果。
1,使用下面命令测试,并不是实际执行。
ansible-playbook /home/ttt/playbook/sim-fetch.yaml -C
2,测试命令没问题后,再正式搞起,并查看效果。
ansible-playbook /home/ttt/playbook/sim-fetch.yaml
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)