Configuring Mac OS X for Unattended Backup Using rsync Introduction rsync is a command-line tool built-in to Mac OS X that allows you to synchronize files between two folders on a machine or between two machines on a network. Rsync is an incredibly useful tool.
Does anyone know if it's possible to run rsync to transfer all changed/new files in a directory (and its sub-directories) from my local OSX 10.9 machine up to a network share? The wrench in the plan is that I only want to copy files that have changed, not just different timestamps. Do I need to run a difference check first? If so, how do I automate this entire sequence?
2 Answers
You can use the -c
or --checksume
switch for that. The rsync(1)
manual page says:
-c, --checksum skip based on checksum, not mod-time & size
So this should work as expected:
AdaephonAdaephonSomething like rsync -art local-path remote-host:remote-path
might do the trick?
Not the answer you're looking for? Browse other questions tagged macoscommand-linefile-transferrsyncosx-mavericks or ask your own question.
There’s a lack of good file copy utilities on Mac like there is for Windows (eg. Teracopy/Ultracopy). If I need to copy a bunch of files where I’m likely to come across errors copying, I’ll use rsync!
This guide covers how to copy files on a Mac using an external drive or any connected network drive. It’ll skip any errors and log all the failed copies to a file for you to check through. It’s especially handy for copying files while skipping errors, corrupted files and getting past some permissions errors.
This is a beginner to intermediate guide and doesn’t cover some of the more advanced features of rsync.
Step by Step rsync for Beginners
Mac Os Rsync Manual Download
Step 1: Open Terminal.app It is located in Applications/Utilities/
You can also open it the quick way by going to Spotlight and typing: terminal
Step 2: Type the following into Terminal, but do not press Enter. (note there is a space at the end of the command and the P is a capital letter)
Step 3: Drag and drop the SOURCE folder onto the Terminal window. This is the folder that has the items you want to copy.
Step 4: Drag and drop the DESTINATION folder onto the Terminal window. This is the folder you want the files to go to.
Step 5: Add the following to the end of the command (note the space after the destination folder):
Step 6: Press Enter!
You will see the files transferring as they go, if there’s a lot of files it’ll fly by pretty quickly. Just wait until it has finished.
At the end you will see a summary of how much has copied and how fast it went.
Checking for Errors
To Check for Errors, there is a file on your Desktop called rSyncErrors.txt, this will contain any errors during the copy and why they failed to copy.
What does the command mean?
rsync is a really powerful program that can do a whole lot of stuff, the command I wrote above is a very simple one designed to copy data quickly and easily without too much fuss.
Here’s a run down on the different parts of the command:
rsync -ahP {source} {destination} 2> ~/Desktop/rsyncErrors.txt
rsync — Runs the rsync command
-ahP — These are called Switches. They tell the program to run with particular options.
Rsync Mac Os
a – This tells it to archive, it will preserve permissions, modified/created dates and any other extra data with the file.
h – Human Readable. This tells it to display all the values in human readable form (instead of “112543662.08 bytes”, it will show “107.33MB”)
P – Progress/Partial – This is actually 2 commands in one. Progress will show you the progress of each file as it transfers (so you can see that it’s actually copying data). Partial will resume files that have been inturrupted part way through copying.
Rsync For Windows Download
2> ~/Desktop/rsyncErrors.txt – This tells it to send any errors to the file on your desktop called rsyncErrors.txt.
Extra Tips
If you want to cancel an rsync part way through running, you can press Control-C to stop it. It won’t undo anything that has been done though, so you’ll end up with only part of the data copied.
rsync can resume from a failed copy. For example, if you’ve got a hard drive that tends to disconnect randomly, you can redo the command and it will resume from where it left off.
If you’re having trouble with permissions and copying files, you can run the command as sudo (type “sudo ” before the command). This will run it as an Administrator. Though with the settings I’ve specified, it’ll just copy the permissions errors along with it!
Advanced Version
Rsync Tutorial
(Skip this if you’re not sure what you’re doing!)
The terminal command to use rsync to copy files is:
Rsync Client
Did this work well for you? Any problems? Please leave a comment below!