Skip to main content

rsync

https://wiki.ubuntuusers.de/rsync/

Einfaches Backup

rsync -av /srv/app-data /srv/app-data-backup-$(date "+%d-%m-%G")

Sync zu entfernten Rechner (-z Komprimierung; bei langsamen Verbindungen sinnvoll)


rsync --numeric-ids -avz --progress QUELL-ORDNER BENUTZER@ZIEL-PC:/Pfad/

löschen alter Dateien im Ziel-Ordner


rsync --numeric-ids -avz --progress --delete QUELL-ORDNER BENUTZER@ZIEL-PC:/Pfad/

mit SSH-Key


rsync --numeric-ids -avz --progress -e "ssh -i /home/benutzer/.ssh/id_rsa" QUELL-ORDNER BENUTZER@ZIEL-PC:/Pfad/

Dateien von entfernten Host holen


-z für komprimieren -e für ssh-key


rsync --numeric-ids -avz --progress --delete "ssh -i /home/benutzer/.ssh/id_rsa" root@backup.network:/srv/backup/rsync-gitlab /tmp/

mit SSH-KEY und SSH-Passwort


Es gibt keine Möglichkeit(?) einen SSH-Benutzer mit Key UND Passwort per rsync zu verwenden.

Folgender Befehl hilft nur temporär. Mit sshpass auch kein Erfolg gehabt. Ansonsten nur als rsync Daemon.


eval `ssh-agent` && ssh-add /home/benutzer/.ssh/dupli_id_rsa

Beispiel:


vim /srv/cron/gitlab_data_sync.sh

#!/bin/sh


## ssh-Passwort einmalig wie folgt auf QuellHost hinzufügen

## Passwort im keepass

## Kommando:

# eval `ssh-agent` && ssh-add /root/.ssh/dupli_id_rsa 


## Daten des Quellsystem

REMOTE_HOST=10.95.178.69

REMOTE_USER=dupli

REMOTE_USER_KEY=/home/benutzer/.ssh/id_rsa

GITLAB_DATA_DIR_LOCAL=/srv/gitlab-data

GITLAB_DATA_DIR_REMOTE=/srv/backup/rsync-gitlab-data


#Sync Optionen

#bwlimit begrenzt Bandbreite

RSYNC_OPTS="-avh --delete --numeric-ids --bwlimit=10000"

SSH_CMD="/usr/bin/ssh -i $REMOTE_USER_KEY -l $REMOTE_USER"


/usr/bin/rsync $RSYNC_OPTS -e "$SSH_CMD" $GITLAB_DATA_DIR_LOCAL/ $REMOTE_USER:$REMOTE_USER_PW@$REMOTE_HOST:$GITLAB_DATA_DIR_REMOTE/

Skript ausführbar machen


chmod a+x gitlab_data_sync.sh

Crontab für regelmäßige Ausführung bearbeiten:


crontab -e

linux/rsync.txt · Zuletzt geändert: 2023/06/04 16:51 von 127.0.0.1