uf123 发表于 2018-7-29 12:00:36

ansible同步/etc/crontab里面的脚本

import ansible.runner  
from ansible.color import stringc
  
import sys
  
import socket
  
import re
  
import subprocess
  

  
host_list = 'qa_servers.txt'
  
private_key_file = '/root/.ssh/id_rsa'
  
pattern = '*'
  
forks = 10
  
timeout = 30
  
module_name = 'script'
  
module_args = 'test.sh'
  
fp = open('/home/ip.txt', "w+")
  
# construct the ansible runner and execute on all hosts
  
results = ansible.runner.Runner(
  
    host_list=host_list,
  
    private_key_file=private_key_file,
  
    pattern=pattern,
  
    forks=forks,
  
    timeout=timeout,
  
    module_name=module_name,
  
    module_args=module_args
  
).run()
  
# print results
  
if results is None:
  
    print "No hosts found"
  
    sys.exit(1)
  
#print results
  
for (hostname, result) in results['contacted'].items():
  
    if not 'failed' in result:
  
      ip = result['stdout'].strip()
  
      if ip != "":
  
            output = open('/home/ip.txt', 'a')
  
            output.write(ip)
  
            output.write('\n')
  
fp.close()
页: [1]
查看完整版本: ansible同步/etc/crontab里面的脚本