Ich hänge das mal an diesen Thread dran, da die gleiche Fragestellung sich auch mir stellte - allerdings mit folgender Einschränkung:
Ich musste (wollte) "pull"-Sicherung vom Netcup-Server "/" (!) auf ein heimisches NAS (ZYXEL 540 mit RAID 10) machen, das nur in 192.168.xxx.xxx erreichbar ist.
Vorgehensweise
0. Auf Netcup-Server
Es wird angenommen, dass SSH auf Port '12345' geschaltet wurde und die NETCUP Firewall diesen Port zulässt.
Wichtig: Darauf achten, dass auch z.b. '.bashrc' keinen Output produziert, der den untenstehenden automatschen Aufbau der Verbindung stören könnte.
1. Vergabe SSH Pubkey auf NAS und Installation auf Netcup Server (NETCUP) mit NETCUP-IP
# cd
# mkdir -p .ssh
# ssh-keygen -t rsa
# cat ~/.ssh/id_rsa.pub | ssh USER@NETCUP-IP -p 12345 "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"
Wichtig: KEINE Passphrase eingeben
2. Einrichten 'rsync' auf NETCUP als 'sudoer" Prozess für NETCUP-User (USER)
[NETCUP:USER]$ sudo visudo
Folgende Zeile anfügen:
USER ALL=NOPASSWD:/usr/bin/rsync
3. rsync Skript zur Sicherung '/' von NETCUP auf NAS
[NAS:USER]# rsync --numeric-ids --rsync-path='sudo rsync' --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} --stats --backup-dir=/i-data/sysvol/NETCUP-BAK -axP -e 'ssh -p 60022' USER@NETCUP-IP:/ /i-data/sysvol/NETCUP
Bitte erst einmal in einen Editor kopieren und anpassen!
z.B. können die rsync-Optionen angepasst werden.
Ebenso die Pfadangaben der Sicherungsziele.
Das Skript kann in 'crontab' hinterlegt werden z.B. als:
0 */2 * * * /i-data/sysvol/root/backupNETCUPtoNAS.sh > /dev/null 2>&1 # MUSS auf NAS mit Tweaks gesetzt werden!
Beste Grüße