ファイルを配布

Ansibleにおいて表題を行いたい。playbookを書くほどの内容では無いので手軽に行いたい。

■ 環境

  • Ansible 2.3.1.0

■ ansible

playbookを実行するのは`ansible-playbook`コマンドであるが、単に対象のホスト群でコマンド等を実行したいだけの場合には`ansible`コマンドで行う。普段自身が`ansible`コマンドを利用するのは下記のように使うことがほとんどである。

$ ansible all -m ping

グループを絞ってアクセスしたりしているくらいである。今回は対象のホストが多かったので1台ずつ手作業で…なんてことをする気にはなれず、このコマンドを用いてファイルを配布したい。

$ ansible group1 -m copy -a "src=[ローカルのファイル] dest=[対象ホスト上で配置するパス]"

playbookに書くときと同じ内容である。ちなみに上記はansibleでの接続ユーザを指定している場合にはそのユーザで作成される。自身の環境では接続ユーザは一般ユーザであり、ファイルを配置したいのはrootユーザであったので下記のように実行した。

$ ansible group1 -m copy -a "src=[ローカルのファイル] dest=[対象ホスト上で配置するパス]" --become

下記の内容を参照した。

File Transfer
http://docs.ansible.com/ansible/latest/intro_adhoc.html#file-transfer

Parallelism and Shell Commands
http://docs.ansible.com/ansible/latest/intro_adhoc.html#parallelism-and-shell-commands

以上。