Rsync als Hintergrundprozess?

5006
Dario

Ich habe mit rsync eine Reihe von Dateien zwischen meinen beiden Servern synchronisiert. Ich setzte einen Cron-Job, der jede Minute rsync ausführen würde. Ich würde es jedoch vorziehen, wenn ich es immer laufen lassen könnte, so dass Dateien synchronisiert werden, sobald sie geändert werden. Was wäre der beste Weg, dies zu tun?

Vielen Dank.

4

2 Antworten auf die Frage

7
Doug Harris

If you have inotify in your kernel, check out inotify-tools.

There's an example on that page:

#!/bin/sh # A slightly complex but actually useful example inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %f' \ -e close_write /home/billy | while read date time file; do rsync /home/billy/$ rsync://billy@example.com/backup/$ && \ echo "At $ on $, file $ was backed up via rsync" done 
Ich interessiere mich für diese Lösung @Doug. Möchten Sie erklären, was die verschiedenen Teile dieses Skripts tun? Amelio Vazquez-Reina vor 12 Jahren 0
FWIW (vier Jahre später): `lsyncd` ist ein dämonähnliches Programm, das diese Funktionalität auf sehr elegante und ziemlich plattformübergreifende Weise zusammenfasst: https://code.google.com/p/lsyncd/ Zac B vor 10 Jahren 0
1
akira

use the inotify system of linux, in combination with incron.

Doug Harris hat ein schönes Beispiel. Möchten Sie Ihre Unterlagen auch weiter dokumentieren? Jeremy L vor 14 Jahren 0
doug copyPackte das Sample direkt von dieser Seite aus :) um das Gleiche zu vermeiden: http://inotify.aiken.cz/?section=incron&page=doc&lang=en (rtfm) ... es funktioniert wie cron, nur in einem anderen Verzeichnis (/etc/incron.d/) akira vor 14 Jahren 0