Der Server führt die folgenden Vorgänge häufig aus. Er erstellt einen Snapshot eines logischen Volumes und sichert dann den Inhalt auf dem Remote-Backup-Server. Es ist möglich, dass mehrere Backups und Übertragungen gleichzeitig erfolgen. Stellen zu viele Rsync-Sitzungen und bereitgestellte Snapshot-Volumes ein Problem dar? Wie kann die Serverleistung bei der Handhabung optimiert werden?
lvcreate -L10G -s -n snapshot /home/folderA
dd if=/mnt/snapshot bs=1M | (ssh [email protected] of=/tmp/backups bs=1M)
rsync -avzh --rsh "ssh -l username" /mnt/snapshot 192.168.1.5:/tmp/backups/
Antwort1
Am sichersten ist es vermutlich, eine Art Sperre für diese festzulegen, sodass immer nur eine ausgewählte Instanz gleichzeitig ausgeführt wird. Ohne zu wissen, wie oft Sie sie (auszuführen planen) und wie lange sie dauern, lässt sich dies jedoch nur schwer mit Sicherheit sagen.
CentOS hat dieHerde(1)Befehl, der nützlich wäre.
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
This is useful boilerplate code for shell scripts. Put it at the top of the shell script you want to lock and it'll automatically lock itself on the first run. If the env var $FLOCKER is not set to the shell script that is being run, then execute flock and grab an exclusive non-blocking lock (using the script itself as the lock file) before re-execing itself with the right arguments. It also sets the FLOCKER env var to the right value so it doesn't run again.