I wanted to backup user profiles a number of workstations onto a Linux machine. The workstation are Windows machines and I’ve round RDiff-Backup to be a very robust and efficient too. RDiff-Backup works much like RSync but where RSync is useful for making mirrors of directories RDiff-Backup will also give you generation of those mirrors to refer to.
One of my prerequisites for the backup is for there to be a minimal amount of configuration to need to be done to the workstations in order for them to backup their profile. I don’t want to install any software or change any PATH variables.
What I ended up doing was downloading the Windows version of RDiff-Backup from here as well as the required Visual Studio files from here and finally a copy of Putty’s plink.exe from here. I then saved/extracted all three into a folder in the “Program Files” directory called “rdiff-backup-1.2.8”.
Next I generated an RSA key pair using instructions from here. And copied the id_rsa.pub to my Windows machine. Using puttygen.exe which I downloaded from here I followed these instructions to turn the public half of my key into a .ppk file (without a passphrase so it would work in the script below).
I saved the .ppk file into the same directory as I’d saved the other files and ran the command below.
"C:\Program Files\rdiff-backup-1.2.8\rdiff-backup.exe" -v5 --print-statistics --exclude-symbolic-links --no-hard-links --exclude "C:/Users/smagee/AppData" --exclude "C:/Users/smagee/SMAGEE" --exclude "C:/Users/smagee/OneDrive" --exclude "C:/Users/smagee/OneDrive - SMAGEE" --remote-schema "plink.exe -i smagee-ubuntu.ppk %s rdiff-backup --server" "C:/Users/smagee" email@example.com::/home/smagee/Backups/smagee-pc
The result was a successful RDiff-Backup.
You can also exclude directories using the example above.
I hope this helps. I found the following site very helpful in putting the above together.