Сервер часто выполняет следующие операции. Он делает снимок логического тома, затем резервирует содержимое на удаленном сервере резервного копирования. Возможно, что одновременно происходит несколько резервных копий и передач. Будет ли проблемой слишком много сеансов rsync и смонтированных томов снимков? Как оптимизировать производительность сервера при обработке?
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/
решение1
Вероятно, безопаснее всего будет установить на них какую-то блокировку, чтобы в любой момент времени запускался только один экземпляр, но, не зная, как часто вы (планируете) их запускать и сколько времени это займет, трудно сказать наверняка.
CentOS имеетстая(1)команда, которая была бы полезна.
[ "${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.