diff --git a/Scripts/Batch/Robocopy.md b/Scripts/Batch/Robocopy.md new file mode 100644 index 0000000..ed2f319 --- /dev/null +++ b/Scripts/Batch/Robocopy.md @@ -0,0 +1,27 @@ +## Purpose +Robocopy is a useful tool that can be leveraged to copy files and folders from one location to another (e.g. Over the network to another server) without losing file and folder ACLs (permissions / ownership data). + +!!! warning "Run as Domain Admin" + When you run Robocopy, especially when transferring data across the network to another remote server, you need to be sure to run the command prompt under the session of a domain admin. Secondly, it needs to be "Ran-as-Administrator" to ensure the command is successful. This can be done by going to the start menu and typing "Command Prompt" > Right Clicking > "Run as Administrator" while logged in as a domain administrator. + +An example of using Robocopy is below, with a full breakdown: +``` +robocopy "E:\Share" "Z:\Share" /Z /B /R:5 /W:5 /MT:4 /COPYALL /E +``` +- `robocopy` : The application itself +- `"source\folder" "destination\folder"` : Self-Explanatory +- `/Z` : Network Resume Mode - If the network connection (if using a network share or something) is interrupted, it will resume when the network comes back online `Useful if the network is unstable` +- `/B` : Backup Mode - This, in some unique circumstances, can be used to circumvent ACLs on folders and files, just forcing them to copy bypassing permissions +- `R:5` : Number of times to retry copying the same file +- `W:5` : The number of seconds to wait between retries +- `/MT:4` : *_Threaded_* copies that run on their own threads +- `/COPYALL` : Retain all file/folder permissions and ownership data +- `/E` : Copy every folder, including empty ones + +!!! tip "Usage of Administrative Shares" + Whenever dealing with copying data from one server to another, try to leverage "Administrative Shares", sometimes referred to as "Default Shares". These exist in such a way that, if the server exists in a Windows-based domain, you can type something like `\\SERVER\C$` or `\\SERVER\E$` to access files and bypass most file access restrictions (Generally for reading data, writing works too, but not in all circumstances). + + An adjusted example can be seen below to account for this usage. **This example assumes you are running robocopy from the source computer**. + ``` + robocopy "E:\Share" "\\DESTINATION-SERVER\E$\Share" /Z /B /R:5 /W:5 /MT:4 /COPYALL /E + ``` \ No newline at end of file diff --git a/Scripts/Batch/placeholder.md b/Scripts/Batch/placeholder.md deleted file mode 100644 index 352bb53..0000000 --- a/Scripts/Batch/placeholder.md +++ /dev/null @@ -1,3 +0,0 @@ -# Overview -### Purpose -Placeholder \ No newline at end of file