У меня довольно старый сервер Fedora, который я унаследовал от другой компании. У меня есть доступ только к серверу ЧЕРЕЗ SSH. Вот некоторые детали сервера:
Linux УДАЛЕНО 2.6.15-1.1831_FC4 # 1 Вт, 7 февраля 13:37:42 EST 2006 i686 i686 i386 GNU / Linux Fedora Core, выпуск 4 (Stentz) LSB_VERSION = "1.3" (Stentz) LSB_VERSION = "1.3"
Мне нужно получить с этого сервера пару ГБ файлов с сохраненными разрешениями. Проблема в том, что сервер почти загружен. Когда я пытаюсь создать файл .tgz, используемое пространство заполняет сервер на 100%. С этого сервера работают действующие веб-сайты, поэтому просто удалить файлы, чтобы освободить место, не вариант.
Есть ли простой способ перенести эти файлы с сервера в другое место в виде файла .tgz, но таким образом, чтобы мне не нужно было использовать ресурсы локального жесткого диска?
Я рассмотрел rsync, но хочу сделать копию с сохраненными разрешениями для резервного копирования в моем окне разработки (Windows 7), поэтому, с моей точки зрения, создание файла .tgz предпочтительнее. Есть ли у кого-нибудь опыт подобной ситуации?
Если бы у вас был ящик * nix с запущенным ssh-сервером на принимающей стороне, вы могли бы сделать что-то вроде этого на исходной машине ...
tar cvf - . | gzip -c -1 | ssh receiving-user@receiving-host cat ">" archive.tar.gz
Это должно заархивировать файлы на удаленном компьютере в текущем каталоге и отправить вывод на stdout, подать в gzip, который передается в cat через ssh на принимающей машине, а затем перенаправляется в ваш архивный файл. Возможно, вам придется изменить указанную выше командную строку в зависимости от версий утилит, включенных в операционные системы и ваши оболочки.
ТОЛЬКО с ящиком Windows на принимающей стороне вы можете установить сервер NFS для Windows или совместно использовать SMB через Интернет и смонтировать его как файловую систему на удаленном компьютере. После этого вы сможете сохранять файлы напрямую в эту файловую систему, но использование их по нелокальной ссылке, вероятно, будет болезненным.