win_robocopy - Synchronizes the contents of two directories using Robocopy
- 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.
Parameter |
Choices/Defaults |
Comments |
dest
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
bool |
|
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
bool |
|
Includes all subdirectories (Toggles the /e flag to RoboCopy).
If flags is set, this will be ignored.
|
src
required |
|
Source file/directory to sync.
|
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.
- 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
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
bool
|
always |
Whether or not the purge flag was toggled.
|
rc
int
|
success |
The return code returned by robocopy.
Sample:
1
|
recurse
bool
|
always |
Whether or not the recurse flag was toggled.
|
src
string
|
always |
The Source file/directory of the sync.
Sample:
C:\Some\Path
|
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Hint
If you notice any issues in this documentation you can edit this document to improve it.