かべぎわブログ

技術的なことについてかけたらいいな…

Ansibleのcopyモジュールでワイルドカードを利用して複数ファイルをコピーする

概要

Ansibleのcopyモジュールでワイルドカードを利用して複数のファイルを一気にコピーする方法のご紹介です。

playbook例

with_fileglobでファイルを指定してあげることでワイルドカードを利用して複数ファイルを一気にコピーすることができます。

実行してみる

playbookを実行してみるとこんなかんじ。

$ ansible-playbook copy_wild.yml

PLAY [localhost] ************************************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************
ok: [localhost]

TASK [debug] ****************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "読み込まれたよー"
}

PLAY RECAP ******************************************************************************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0 

無事にファイルがコピーできていることがわかります。
コピー元がここで

$ ls -l /home/ec2-user/src/
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  7月  5 14:57 dadada.sh
-rw-rw-r-- 1 ec2-user ec2-user 0  7月  5 14:57 sasasa.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  7月  5 14:57 wawawa.txt

コピー先がこれ

$ ssh ec2-user@192.140.1.215 ls -l /home/ec2-user/dest/
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  7月  5 15:05 sasasa.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  7月  5 15:05 wawawa.txt

おわりに

ワイルドカードはべんり

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)