Создать и обновить архив по ssh на локальной машине

Я пытаюсь найти способ создать и обновить tar-архив файлов в удаленной системе, где у нас нет прав на запись (удаленная файловая система доступна только для чтения) через ssh. Я понял, что способ создать архив,

ssh user@remoteServer "tar cvpjf - /" > backup.tgz

Тем не менее, я хотел бы знать, есть ли какой-либо способ выполнения только инкрементных резервных копий с этого момента (только файлов, которые фактически изменились?). Любая помощь в этом очень ценится.


person Bootstrapper    schedule 10.10.2013    source источник
comment
Может быть, вы можете смонтировать удаленную файловую систему на своем локальном компьютере, где у вас есть права на запись, через sshfs   -  person salva    schedule 11.10.2013


Ответы (1)


Вы можете попробовать использовать опцию --listed-incremental tar:

http://www.gnu.org/software/tar/manual/html_node/Incremental-Dumps.html

Основная проблема заключается в том, что у вас нет возможности передать файл snar через стандартный вывод, потому что вы уже передаете файл backup.tgz, поэтому лучшим вариантом для его хранения будет создание файла в каталоге /tmp, где у вас должны быть права на запись и затем загрузите его в конце сеанса резервного копирования.

Например:

ssh user@remoteServer "tar --listed-incremental=/tmp/backup-1.snar -cvpjf - /" > backup-1.tgz
scp user@remoteServer:/tmp/backup-1.snar

И в следующем сеансе вы будете использовать этот файл .snar, чтобы избежать копирования одних и тех же файлов:

scp backup-1.snar user@remoteServer:/tmp/backup-1.snar
ssh user@remoteServer "tar --listed-incremental=/tmp/backup-1.snar -cvpjf - /" > backup-2.tgz
person alcachi    schedule 10.10.2013
comment
Спасибо, это отлично работает. Я пытаюсь поместить это в скрипт, но дважды запрашиваю пароль (ssh и scp). Есть ли способ сделать эти 2 вместе? - person Bootstrapper; 11.10.2013
comment
Вы можете использовать аутентификацию без пароля с помощью ключей ssh: debian-administration.org/articles/152 - person alcachi; 16.10.2013