多くのファイルを1つの場所に収集するための最良のコマンドは何ですか? [コピー]

多くのファイルを1つの場所に収集するための最良のコマンドは何ですか? [コピー]

1つにマージする必要があるファイルがたくさんあります。別のサーバー上のすべてのホストファイルを1つの場所に収集するために使用できるコマンドはありますか?

ベストアンサー1

sshと同じユーザーを持つサーバーのリストがある場合は、次の簡単なスクリプトを実行できます。

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

ただし、デフォルトの権限は/etc/sudoers400なので、ルートのみを読み取ることができます。

次に、私が提案して推薦するのはAnsibleのようなツールです。 SSHを介して実行され、簡単なスクリプトを使用して任意のファイルを収集できます。必要:

  • アンサーブルインストール
  • サーバーを一覧表示するマニフェストファイルの設定
  • SSHアクセス権とsudoアカウントが必要です(sudoユーザーには400の権限があるため)。

fetch次に、次のようにモジュールを使用します。

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

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

スクリプトの実行に使用されますansible-playbook playbook.yml -i yourinventoryfile

それはすべてです。

おすすめ記事