win_robocopy – Synchronizes the contents of two directories using Robocopy¶
New in version 2.2.
Synopsis¶
Synchronizes the contents of files/directories from a source to destination.
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
string
|
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.
See Also¶
See also
- synchronize – A wrapper around rsync to make common tasks in your playbooks quick and easy
The official documentation on the synchronize module.
- win_copy – Copies files to remote locations on windows hosts
The official documentation on the win_copy module.
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
- name: Sync one file from a remote UNC path in recursive and purging mode, specifying additional special flags
win_robocopy:
src: \\Server1\Directory One
dest: C:\DirectoryTwo
flags: file.zip /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 interpreted 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]