Перенести файлы с сервера на сервер
Перенести файлы с сервера на сервер.
К обоим серверам есть доступ только SSH, ftp и http
На сервере 1, в папке /home/images лежит 50000 картинок общим размером 3 гигабайта
нужно перенести их на сервер 2 в папку /home/images, где тоже лежит примерно 30000 файлов, причем эти 30000 есть на сервере 1.
то есть в принципе нужно скачать всего 20000 файлов.
Просто тупо скопировать соединившись через ftp - не получается ни с той ни с другой стороны - фтп соединение зависает при чтении каталога.
запаковать в архмв тоже не получится - на сервере осталось свободно порядка 500мб. и архив не создается, так как он больше чем этот размер
Скопировать прийдя со своим носителем не получится - нет физического доступа к серверу 1.
dAb[досье]
фтп соединение зависает при чтении каталога
Зависает или получает данные по такому огромному количеству файлов? Как определили что соеденение именно повисло?
Вам нужна информация о файлах, которые нужно скопировать, те самые 20к. Если списка файлов нет, нужно его получить (два результата команды ls и несложный скрипт). А потом - по частям в tar и копировать на другой сервер. По-моему так.
по моему мнению этот ресурс содержит достаточную информацию по синхронизации и переносу данных между серверами
list.txt — список файлов
создать tar -cf arch.tar -T list.txt
развернуть tar -xf arch.tar
или на лету сжимать gzip'ом
создать tar -czf arch.tgz -T list.txt
развернуть tar -xzf arch.tgz
если добавить опцию -v (-cvf
, -xvf
, -cvzf
, -xvzf
), то имена обрабатываемых файлов будут выводиться на экран.
man tar
Что-то сразу не вспомнилось... В принципе можно попробовать еще rsync
, он через ssh работать умеет. Но, честно говоря, не знаю, как эта штука будет работать с такой директорией.
Dennis F. Latypoff aka funky_dennis[досье]Для tar места нету, если туда совать все. А если список разбить на части - хватит.
Dennis F. Latypoff aka funky_dennis[досье]
что вам мешает сделать tar на лету?
я переношу большое количество мелких файлов такой конструкцией (размер архива примерно около 1Гб)
tar -cf - path_to_archive | gzip - | ssh login@domain "cat - > archive.tar.gz"
аналогично можно сделать и со списком