Wie ist denn die Syntax, wenn ich auf demselben Server rsync anwenden möchte?
Wenn rsync läuft, dann geht auch ssh:
ssh userName@einServer rsync /sourceDir userName@andererServer:/targetDir
ich möchte meinen lokalen Änderungen auf 3 Zielverzeichnisse sichern. Bisher mache ich das mit 3 aufeinanderfolgenden rsync-Befehlen.
Frage: Kann man das auch in einem Befehl machen?
Wieso das denn? rsync ist super! Man sollte mal das Manual lesen und daran denken, dass es a) den mount-Befehl und b) immer ein root-Verzeichnis gibt. Und dann auf Ideen kommen:
1. Lösung:
mkdir /tmp/mutter;
mkdir /tmp/mutter/kind1;
mkdir /tmp/mutter/kind2;
mkdir /tmp/mutter/kind3;
mount -B /was1 /tmp/mutter/kind1;
mount -B /was2 /tmp/mutter/kind2;
mount -B /was3 /tmp/mutter/kind3;
rsync [OPTIONEN] /tmp/mutter/* userName@andererServer:/targetDir/;
if (umount /tmp/mutter/kind1 && umount /tmp/mutter/kind2 && umount /tmp/mutter/kind3 ); then
rm -r /tmp/mutter/;
fi
Das kann aber auch zu viel oder zu kompliziert sein, denn es geht viel einfacher:
2. (wohl bessere) Lösung:
Datei: rsync.excludes
: (Schließt erst einmal alles aus)
/*
/.*
Datei rsync.includes
: (Diese Dateien und Ordner werden dennoch gesichert/Übertragen)
/home
/var/spool/mail
/var/lib/mysql
… und dann ganz einfach:
rsync -avu --exclude-from="/path/to/rsync.excludes" --include-from="/path/to/rsync.excludes" / userName@andererServer:/targetDir/;
Beides geht auch via ssh. Zudem sollte Dich man 5 crontab
oder crontab -e
auf Ideen bringen...