Update Scripts/Batch/Robocopy.md

This commit is contained in:
Nicole Rappe
2023-12-21 23:30:43 -07:00
parent 4453dae568
commit de0b071b9b
2 changed files with 27 additions and 3 deletions

27
Scripts/Batch/Robocopy.md Normal file
View File

@ -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
```

View File

@ -1,3 +0,0 @@
# Overview
### Purpose
Placeholder