Subversion: возможно ли сделать резервную копию только дельты с момента последнего резервного копирования?
Кто-то здесь знает, возможно ли сделать резервную копию только той части хранилища Subversion, которая изменилась со времени последней резервной копии (то есть дельта)?
На практике это может быть чем-то вроде резервного копирования каждую полночь и дельты каждый час. Если затем произойдет сбой, скажем, в 11:07, нужно будет использовать последнюю резервную копию в полночь и применить к ней все дельты, таким образом, будут потеряны только семь минут.
Кроме того, если это возможно, это можно сделать в режиме "горячего резервирования" (если это правильный термин для него), то есть когда другие пользователи работают, особенно проверяют, в хранилище.
2 ответа
Это конечно возможно. Вы можете сделать svnadmin dump -r(from_rev) --incremental
сбросить все изменения с ревизии (from_rev) и далее (если вы пропустите --incremental
содержимое ревизии (from_rev) будет сброшено полностью). Все коммиты являются атомарными, поэтому вы можете сделать горячее резервное копирование таким образом - коммиты, которые еще выполняются, будут не в этом дампе, а в следующем.
Проще и, вероятно, почти так же эффективно использовать rsync. rsync также имеет то преимущество, что он может делать больше вещей, кроме хранилища.