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。