You can easily use rsync encrypted in a ssh session, with:
rsync -avP -e "ssh -i /home/user/.ssh/id_rsa" firstname.lastname@example.org:~/directory/to/sync .
Use the complete path of the ssh key, if you put ~/.ssh/id_rsa you’ll have this error by rsync:
Warning: Identity file ~/.ssh/id_rsa not accessible: No such file or directory
If rsync tells you rsyncd: auth failed on module blablablabla: missing secret for user “user”
Try to chmod 700 your .secret files.
This is the (bash) script that i use for backup all MySQL databases and other important stuffs like etc/ dir, configuration files in /usr/local/etc and whatever you want.
As you can see, it’s launched 3 times a week by cron, on sunday, wednesday and friday at 23:55. It create a list of installed packages, dump all MySQL databases, sync important files and dirs with rsync and finally create a tar.gz of backupped files.
It would be interesting add one cool thing, after tar.gz is done it could be copied via scp to another host (and it would be a better backup :P).
Actually i haven’t a pc running 24/7 (old good OpenBSD gateway, i miss you!!) and i download manually the tar.gz the morning after (shame on me) :P
NB: MySQL backup part is partially taken from a GREAT MySQL backup script and adapted to my needs. Script is from bash.cybercity.biz
Continue reading “Backup all MySQL databases and other important stuff on FreeBSD”