win_robocopy – Synchronizes the contents of two directories using Robocopy
New in version 2.2.
Synopsis
- Synchronizes the contents of two directories on the remote machine.
- Under the hood this just calls out to RoboCopy, since that should be available on most modern Windows Systems.
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| dest path / required | Destination file/directory to sync (Will receive contents of src). | |
| flags - | Directly supply Robocopy flags. If set, purge and recurse will be ignored. | |
| purge boolean |
| Deletes any files/directories found in the destination that do not exist in the source. Toggles the /purge flag to RoboCopy. If flags is set, this will be ignored. |
| recurse boolean |
| Includes all subdirectories (Toggles the /e flag to RoboCopy).If flags is set, this will be ignored. |
| src path / required | Source file/directory to sync. |
Notes
Note
- This is not a complete port of the synchronize module. Unlike the synchronize module this only performs the sync/copy on the remote machine, not from the master to the remote machine.
- This module does not currently support all Robocopy flags.
Examples
- name: Sync the contents of one directory to another
win_robocopy:
src: C:\DirectoryOne
dest: C:\DirectoryTwo
- name: Sync the contents of one directory to another, including subdirectories
win_robocopy:
src: C:\DirectoryOne
dest: C:\DirectoryTwo
recurse: yes
- name: Sync the contents of one directory to another, and remove any files/directories found in destination that do not exist in the source
win_robocopy:
src: C:\DirectoryOne
dest: C:\DirectoryTwo
purge: yes
- name: Sync content in recursive mode, removing any files/directories found in destination that do not exist in the source
win_robocopy:
src: C:\DirectoryOne
dest: C:\DirectoryTwo
recurse: yes
purge: yes
- name: Sync two directories in recursive and purging mode, specifying additional special flags
win_robocopy:
src: C:\DirectoryOne
dest: C:\DirectoryTwo
flags: /E /PURGE /XD SOME_DIR /XF SOME_FILE /MT:32
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| cmd string | always | The used command line Sample: robocopy C:\DirectoryOne C:\DirectoryTwo /e /purge |
| dest string | always | The Destination file/directory of the sync. Sample: C:\Some\Path |
| flags string | always | Any flags passed in by the user. Sample: /e /purge |
| msg string | always | Output intrepreted into a concise message. Sample: No files copied! |
| output string | success | The output of running the robocopy command. Sample: ------------------------------------\n ROBOCOPY :: Robust File Copy for Windows \n------------------------------------\n |
| purge boolean | always | Whether or not the purge flag was toggled. |
| rc integer | success | The return code returned by robocopy. Sample: 1 |
| recurse boolean | always | Whether or not the recurse flag was toggled. |
| src string | always | The Source file/directory of the sync. Sample: C:\Some\Path |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Corwin Brown (@blakfeld)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/win_robocopy_module.html