Ansible Documentation
fetch – Fetches a file from remote nodes機能
対象ホストから管理サーバーへファイルをコピーするパラメータ
パラメータ | 選択肢/ Default | 説明 |
---|---|---|
dest ※必須※ | - | ファイルを保存する管理サーバー上のディレクトリ。実際は指定したディレクトリ内に対象ホスト名のディレクトリが作成され、その中に src: で指定した対象ホスト上のファイルが保管される。src: にパス付きのファイル名の場合、そのパスも含まれる |
fail_on_missing | ・no ・yes | src: で指定した対象ホスト上のファイルが存在しない、何らかの理由で読み取れないときのタスクの処理を指定する ・no タスクが失敗しない ・yes タスクが失敗する |
flat | ・no ・yes | dest: の動作をオーバーライドするかどうかを指定する ・no dest: の指定のまま ・yes dest: で指定したフォルダに src: で指定した対象ホストのファイルをコピーする。dest: で指定するディレクトリ名の最後に / を付ける |
src ※必須※ | - | 対象ホスト上のコピー対象のファイル |
validate_checksum | ・no ・yes | 対象ホストから管理サーバーへファイルのコピー後、コピー前後のファイルのチェックサムを確認するか指定する ・no チェックしない ・yes チェックする |
例
■ 対象ホストからパス名を維持したままでファイルをコピーする- name: 対象ホスト上の /tmp/somefile ファイルを ./fetched フォルダにコピーする fetch: src: /tmp/somefile dest: ./fetcheddest: で指定したディレクトリの構造
dest: で指定したディレクトリ内に host 名 - src: で指定したファイルのパス名 のディレクトリが作成され、その中にファイルが格納される
.
└── fetched
└── node-c0706
└── tmp
└── somefile
■ flat: yes を指定して、ファイルだけをコピーする
- name: 対象ホスト上の /tmp/somefile ファイルを ./fetched フォルダにコピーする fetch: src: /tmp/somefile dest: ./fetched/ flat: yesdest: で指定したディレクトリの構造
dest: で指定したディレクトリ内に src: で指定したファイルが格納される。ホスト名や src: で指定したファイルのパスは含まれない。
.
└── fetched
└── somefile
■ fail_on_missing: no を指定して対象ホスト上にコピー対象のファイルがない場合でもエラーにしない
- name: 対象ホスト上の /tmp/oterfile ファイルを ./fetched フォルダにコピーする(失敗してもエラーにしない) fetch: src: /tmp/otherfile dest: ./fetched/ flat: yes fail_on_missing: no