Updated version using group policy can be found here.
So I needed a way to back up user data without having to manually set up Restic on each box. I was running Restic on my box, specifying remote paths to backup, but I found that Restic seemed to re-read everything on every single backup, which was painfully slow.
I tried using psexec but ran into issues. This “fork” of psexec, called paexec, seemed to work perfectly, though. So, if you have multiple Windows boxes, try this out:
@ECHO OFF
ECHO Starting remote backup jobs, please wait…
paexec \\server1 -u domain\domain_admin -p password123 -e -c -f -d -background -csrc “\\public\backup\restic.exe” restic.exe backup -r \\path-to-repo --password-file \\public\backup\password.txt --cleanup-cache “C:\data1” “C:\data2”`
paexec \\server2 -u domain\domain_admin -p password123 -e -c -f -d -background -csrc “\\public\backup\restic.exe” restic.exe backup -r \\path-to-repo --password-file \\public\backup\password.txt --cleanup-cache “C:\data1” “C:\data2”
paexec \\server3 -u domain\domain_admin -p password123 -e -c -f -d -background -csrc “\\public\backup\restic.exe” restic.exe backup -r \\path-to-repo --password-file \\public\backup\password.txt --cleanup-cache “C:\data1” “C:\data2”
This will essentially log into each box, copy restic.exe (forcibly), and run backups for server1, server2, and server3 simultaneously in the background, at the lowest priority.
EDIT: I figured out I needed the -e switch if “domain_admin” hadn’t logged in on the remote server before.
I think by using share permissions, I can make \\public\backup only accessible to domain_admin, and therefore hide the password from the end user, to boot!
I’ll probably eventually add email capabilities by adding “>C:\log.txt”" at the end of the command then calling this “sendemail.exe” utility I use. But that’s enough for one day.
It’ll look something like:
sendemail.exe -f user@domain.com -t me@domain.com -u Backup Log -s smtp.domain.com:587 -xu user@domain.com -xp password123 -o message-file=C:\log.txt
I’ll edit this if I implement it successfully. That’s the code I use to run it locally and send email alerts. Haven’t tried with paexec yet.
Downloads: