Qual é o melhor comando para coletar muitos arquivos no local? [duplicado]

0

Eu tenho muitos arquivos que preciso consolidar em um. Existe um comando que eu possa usar para coletar todos os meus arquivos hosts em servidores diferentes para um local.

    
por Moez 03.02.2017 / 15:44

1 resposta

0

Bem, se você tem uma lista de seus servidores, usuário idêntico ao ssh com, você pode fazer um script simples como:

#!/bin/bash
for i in 'more my_servers.txt'
do
 scp $i:/etc/sudoers $i-sudoers
done

No entanto, as permissões padrão de /etc/sudoers são 400, o que significa que apenas o root pode lê-lo.

O que sugiro a seguir e o que recomendo é uma ferramenta como Ansible. Funciona sobre o ssh, e com um simples manual você pode coletar todos os arquivos que quiser. Requisitos:

  • instalar ansible
  • configure o arquivo de inventário com seus servidores listados
  • tem acesso ssh e conta sudo (porque 400 permissões de sudoers)

Você usaria então o módulo fetch , assim:

---
- hosts: all
  remote_user: yoursshuser
  tasks:

    - name: fetch 
      fetch:
        src: /etc/sudoers
        dest: /tmp/{{ inventory_hostname }}-sudoers
      become: yes

Use ansible-playbook playbook.yml -i yourinventoryfile para executar o manual.

É isso.

    
por 03.02.2017 / 15:52