Резервное копирование файлов с сервера (статический IP) на домашний сервер (динамический IP)

538

Я уже знаком и использую rsync, передачи scp, tar, 7z и т. Д., Однако ни один из них не решает проблему резервного копирования, которую я намерен делать довольно регулярно.

У меня есть удаленный сервер с 80% используемого пространства на 100 ГБ SSD, с которого я хотел бы сделать резервную копию. На сервере более 10000 небольших файлов, поэтому поможет базовый архив или какое-то промежуточное сжатие (например, rsync -z).

У меня дома есть сервер, на который я хотел бы сделать резервную копию, но он использует Dynamic IP.

Проблема в том, чтобы использовать rsync -z или scp и tar (через канал), это должно быть сделано на удаленном сервере, но этот сервер не может видеть мой домашний сервер, так как он находится на динамическом IP.

Поэтому я могу выполнять только команды на моем домашнем сервере, такие как scp user @ remoteserver: / files / to / backup / home / user / backups, но это не может использовать сжатие, поэтому для передачи огромного количества файлов требуется очень много времени.

Есть ли более быстрый способ?

PS Мне не нужно хранить права доступа к файлам и т. Д., Что делает tarball

Изменить: Из-за ограниченного пространства на удаленном сервере, я не могу сделать тарбол там и тянуть на домашнем сервере. Поэтому это должно быть в реальном времени.

0

2 ответа на вопрос

2
Sven

Почему нельзя использовать init rsyncс вашей резервной копии? Нет никаких ограничений, rsyncкоторые могли бы предотвратить это. Бег

rsync -avz user@remote.example.com:/data /backupdir 

на цели резервного копирования (домашний сервер) должен сделать именно это.

Я согласен, я делаю именно такие вещи для резервного копирования своего собственного сервера. Инициирование копии на сервере открывает серьезную червя, потому что ваш домашний сервер должен принимать подключения из Интернета, это, конечно, можно сделать, но убедиться, что он (и остается) watertigh не так просто. xenoid 5 лет назад 0
0
davidgo

Есть много опций. Самый простой может быть просто добавить команду -C в SSH или около того, чтобы включить сжатие для ссылки.

Более сложным (и более быстрым, будьте уверены в большом количестве мелких файлов и задержке) решением было бы сбросить scp и использовать конвейер для сжатия данных на лету. Что-то вроде tar -cz / path / to / backup | Пользователь SSH @ remote "cd / path; tar -xz" будет сжимать и распаковывать файлы, используя сжатие gzip. Конечно, ничто не мешает вам использовать другую команду после ssh, если, например, вы просто хотите сохранить сжатый файл, вы можете вместо этого использовать «cat> /path/to/file.tar.gz».

Мне непонятно, почему вы говорите о динамических IP-адресах здесь. Если это создает проблему, вы можете использовать динамический DNS или настроить VPN с сервером на статическом или инициировать извлечение из динамического IP, а не выдвигать из статического.

Похожие вопросы