1. ホーム
  2. ansible

[解決済み] リモートシステムでAnsibleタスクを使用してファイルを移動/リネームする方法

2022-01-31 19:58:48

質問内容

リモートシステムでAnsibleモジュールを使用してファイル/ディレクトリを移動/リネームするにはどうすればよいですか?コマンド/シェルタスクを使いたくないし、ローカルシステムからリモートシステムにファイルをコピーしたくありません。

どのように解決しますか?

fileモジュールは、リモートシステム上のファイルをコピーしない。 src パラメータは、ファイルへのシンボリックリンクを作成するときにのみ、ファイルモジュールによって使用されます。

もし、リモートシステム上でファイルを完全に移動/リネームしたいのであれば、commandモジュールを使って適切なコマンドを呼び出すのが最善策です。

- name: Move foo to bar
  command: mv /path/to/foo /path/to/bar

もし、もっと凝ったことをしたいのなら、まずstatモジュールを使ってfooが実際に存在するかどうかをチェックすることができます。

- name: stat foo
  stat: path=/path/to/foo
  register: foo_stat

- name: Move foo to bar
  command: mv /path/to/foo /path/to/bar
  when: foo_stat.stat.exists