Ansible Documentationのfileモジュールの内容のメモです。
Ansible Documentation
概要
- ファイル、シンボリックリンク、ディレクトリの設定や削除をします。他の多くのモジュールはfileモジュールと同じオプションをサポートします。
オプション
頻度 | パラメータ | 必須 | デフォルト値 | 選択肢 | 説明 |
---|---|---|---|---|---|
follow | no | no | yes no |
既にファイルが存在する場合置き換えない。(要確認) | |
force | no | no | yes no |
下記2ケースにおいてシンボリックリンクを強制的に作成する ・シンボリックリンク先のファイルが存在しない ・シンボリックリンク先のファイルが存在している("path"で指定したファイルのリンクを解除し、"src"で指定したファイルへのシンボリックリンクを作成する)。 |
|
※ | group | no | - | - | chownコマンドで設定できる所有者グループの設定。 |
※ | mode | no | - | - | chmodコマンドで設定できる権限設定。8進数の指定とシンボリックモード(例を参照)での指定が可能。 |
※ | owner | no | - | - | chownコマンドで設定できる所有者ユーザの設定。 |
※ | path | yes | - | - | ファイルパスの指定。 |
※ | recurse | no | no | yes no |
再帰的にファイル属性を変更するか(state=directoryの場合のみ)。 |
selevel | no | s0 | - | selinuxのレベル。 | |
serole | no | - | - | selinuxのロール。 | |
setype | no | - | - | selinuxのタイプ。 | |
seuser | no | - | - | selinuxのユーザ。 | |
※ | src | no | - | - | 実体ファイルのパスを指定(state=linkの場合のみ) |
※ | state | no | file | file link directory hard touch absent |
file: ファイルが既に存在する場合に指定。もし存在しない場合、copyモジュールやtemplateモジュールを使用する。 link: シンボリックリンクの場合に指定。 directory: ディレクトリの場合に指定。存在しない場合サブディレクトリとして作成される。権限は上位から継承される。(要確認) hard: ハードリンクの場合の指定。 touch: pathで指定したファイルが存在しない場合、空ファイルを作成する。既にファイルが存在する場合、タイムスタンプが更新される。 absent: ディレクトリやファイル、シンボリックリンクの削除。 |
例
example.yml
- file: path=/etc/foo.conf owner=foo group=foo mode=0644
- file: src=/file/to/link/to dest=/path/to/symlink owner=foo group=foo state=link
- file: src=/tmp/{{ item.path }} dest={{ item.dest }} state=link
with_items:
- { path: 'x', dest: 'y' }
- { path: 'z', dest: 'k' }
# touch a file, using symbolic modes to set the permissions (equivalent to 0644)
- file: path=/etc/foo.conf state=touch mode="u=rw,g=r,o=r"
# touch the same file, but add/remove some permissions
- file: path=/etc/foo.conf state=touch mode="u+rw,g-wx,o-rwx"