Re: rsync over ssh
> > > zsh% cat /usr/local/sbin/bind-chroot-rsync
> > ...
> > > for d in /; do
> > > if /bin/mount --bind -r $d $root$d; then
> > > umount_dirs="$root$d $umount_dirs"
> > > else
> > > rc=2
> > > fi
> > > done
> >
> > Сюда, пожалуй, не помешает комментарий. Здесь бинд-монтируется только корень,
> > поскольку это виртуалка, и дисковый раздел на ней только один. Но
> > бинд-монтировать его все равно надо, чтобы не цеплять бэкапом недисковые
>
> Э, а зачем? Есть же опция -x у rsync (one_fs=1 в rsnapshot.conf),
> которая в случае одного
> раздела решает проблему недисковых разделов одним движением и
> стопроцентно.
Нет, Витус. Она решает проблему _всех других_ разделов. Причем для случая
использования rsnapshot она ее решает слишком радикально - придется
раскладывать разные разделы по разным углам, иначе он будет тереть нижележащее
при каждом бэкапе.
Мое решение позволяет мне, любимому (ключевое слово - "мне") делать везде
одинаково и иметь общее решение на все машины.
> Правда, для каждого дискового раздела при этом подходе потребуется
> отдельная строчка в rsnapshot.conf.
>
> Но мне это кажется существенно меньшим злом, чем выполнять какие либо
> модификации (включая монтирование) в файловой системе удаленной машины.
А мне - большим. Потому что оное монтирование read-only, если кто вдруг не
заметил, и работа идет в chroot, так что поломать на той машине что-либо
сложно даже специально, не говоря уже о "по ошибке".
> Кстати, твой скрипт по-моему все-таки в отличие от моего и rrsync, не
> защищаает от подло сфабрикованной команды
> "rsync --server --sender ... ; rm -rf ."
Защищает. "$@".
--
An ideal world is left as an exercise to the reader.
Paul Graham, "On Lisp"
Reply to: