Ansibleのtips的なあれやそれ

Ansibleをごにょごにょしたので覚え書き程度に。

シンボリックリンクをはる

/usr/local/destに対して/usr/local/srcのシンボリックリンクをはる場合、以下のようにします。

- name: create symlink
  action: file src=/usr/local/src dest=/usr/local/dest state=link

Ansible実行サーバからリモートサーバにrsyncする

1.3.xまではlocal_actionを用いてrsyncコマンドを実行する感じでしたが、
1.4.xからはsynchronizeというモジュールが追加されたのでこれで実現できるみたいです。
rsync_pathはrootで実行したいとか、別のユーザーで実行したいといった場合は以下のように指定してあげるとよいみたいです。

- name: sync files
  action: synchronize src=/usr/local/src dest=/usr/local/dest recursive=yes rsync_path='sudo rsync'

同一コマンドを複数のファイルに対して行う

with_itemsを使えばらくちんです。
{{ item }}と書いた部分に対してwith_itemsで指定したファイルが入ります。

- name: change permission
  action: file path={{ item }} owner=tm8r group=tm8r state=directory recurse=yes
  with_items:
   - /usr/local/hoge/
   - /usr/local/fuga/

すてきですねAnsible。

スポンサーリンク