LINUX.ORG.RU
ФорумAdmin

Копирование (а точнее перемещение) файлов в условиях нестабильной связи и еще через гуй

 , ,


0

1

Навеяло вот этой темой Как максимально быстро скачать файл с одного linux хоста на другой
Прошу прощения у всех, за действительно «не лучший вопрос» в этом разделе.
Вводная:
Есть клиент, mac air с os x 10.9. Клиент мобильный, и связь у него на букву «х, не подумайте что хорошо», рвется постоянно.
В связи с тем что место на ноуте заканчивается, возникла задача организовать архив этих данных. Корпоративных серверов где можно организовать это - чуть больше чем дофига так же как и вариантов ОС (vpn в наличии).
Сама проблема:
Клиент хочет копировать это сам через гуй os x. В связи со сбоями связи «кучей и сразу» не получается, а по одному «файлику» ему «не кошерно».
Сходу в голову приходят решения на основе bittottent &etc, но вот беда, надо же не синхронизировать, а именно переместить файлики и по необходимости забирать их из архива.
Может я что-то упустил в этой жизни и уважаемые коллеги посоветуют простое решение.
Заранее спасибо, в том числе и за критику.
ЗЫ Штатные smb,afp,ftp и не штатный sshfs пока так или иначе показали плохой результат.

★★★★★

Ответ на: комментарий от frozen_twilight

Сообщение читайте полностью плиз. Написал же гуй, mac os x и т.д... и все равно же вбросят rsync. :(

anc ★★★★★
() автор топика
Ответ на: комментарий от KillTheCat

Или я что-то путаю или... «и по необходимости забирать их из архива» тут не сработает...

anc ★★★★★
() автор топика

Чё-нибудь с докачкой, кажется rsync так умеет. Хотя возможно лучше со скачиванием блоками (и проверкой чексумм) типа торрента, tcp конечно вроде как инкапсулирует валидность пакетов в себе, а вот udp нет. Судя по описанию, тебе нужен как раз торрент.

anonymous
()
Ответ на: комментарий от gag

Второй уже нашел, но не тестировал... А в целом спасибо за начальную подсказку, она то меня позже и натолкнула на мысль что может гуй для rsync существует...

anc ★★★★★
() автор топика
Ответ на: комментарий от gag

В продорлжение:

grsync

Похоже все-таки лучше, хотя не сказать что бы прям идеально для конкретного клиента. Но во всяком случае поставил его, подожду «отзывов» :)
Спасибо еще раз!
ЗЫ Надеюсь кто-то еще какие-нибудь мысли подкинет.

anc ★★★★★
() автор топика

По поводу копирования больших файлов или большого количества файлов:

Ночью в конторе идут перекрестные бакапы с разных серваков. Файлы могут быть размером до 20GB. Периодически архивы копировались битыми. Хороших программ под Win по копированию с проверкой так и не нашел, поэтому пришлось написал утилитку по копированию с проверкой контрольных сумм источника и приемника.

Теперь возникла необходимость бакапить архивы с Linux сервера на Win. Воспользовался rsync -c, через некоторое время подловил расхождение контрольных сумм у источника и приемника. Плюнул, пока копирую так:

#!/bin/sh

fin="Входной файл"
fou="Выходной файл"

MAX_COUNT=10
COUNT=1

while (( ($COUNT <= $MAX_COUNT) )); do
  # Удалим файл на приемнике
  rm -f "$fou"
  # Копирование файла
  cp "$fin" "$fou"

  # Расчет контрольных сумм
  MD1=$(md5sum -b "$fin"|awk '{print$1}')
  MD2=$(md5sum -b "$fou"|awk '{print$1}')

  if [ $MD1 == $MD2 ]; then
    echo $(date '+%Y-%m-%d %H:%M:%S') "Файл $fin скопирован, попыток [$COUNT]" >> /var/log/backup.log
    exit 0
  fi
  let "COUNT+=1"
done
echo $(date '+%Y-%m-%d %H:%M:%S') "Файл $fin не удалось скопировать" >> /var/log/backup.log

tyrpyr
()

tottent

Там же-ж можно гуем галочки ставить, что копировать, а что нет.

anto215 ★★
()
Ответ на: комментарий от tyrpyr

Для описанной мной задачи он точно не подходит. :) Но покритикую, вы файлики два раза гоняете.
И второе, это что же за системы где файлики прилетают битыми? Или может вы не смотрите на код возврата того же rsync/cp/scp/что-то-еще ? Я не случайно задал этот вопрос, у меня где-то лет десять работала система передача данных (периодичность раз в два часа) с удаленных объектов (24 штуки) в виде копирования файликов, через ооочень плохую модемную связь (модем, этот тот самый который занимал телефонную линию, не путайте с adsl/etc) с некоторых из обьектов из-за плохой/сбоев связи файлик в 200к мог прилететь только часа через три. Ниразу не было случая что бы в результате файл прилетел битый. А я в процессе эксплуатации много чего перепробовал. Да, и еще вспомнил, один из этих объектов первые два года работал вообще через nokia 22 (те самые 9600, никаких gprs в той глуши небыло и работало только с направленной антеной)

anc ★★★★★
() автор топика
Ответ на: комментарий от anc

Да, данный метод копирует файл, пока тот не скопируется правильно или не произойдет превышение количества попыток...

tyrpyr
()
Ответ на: комментарий от tyrpyr

Я про то, что вы его сначала пишите в место назначения, а потом читаете оттуда.

anc ★★★★★
() автор топика
Ответ на: комментарий от anc

Т.е. например у вас cp могла отработать нормально, но при копировании назад мог произойти сбой и вы начнете все сначала.
Повторю свой вопрос, вам что кода возврата не хватало?

anc ★★★★★
() автор топика
Ответ на: комментарий от anc

Я не понял вопроса: Копирую один раз, проверяю контрольные суммы источника приемника, если совпадают выхожу, если не совпадают - тогда да - копирую снова...

tyrpyr
()
Ответ на: комментарий от tyrpyr

Давайте вместе подумаем, что нужно для того что бы посчитать контрольную сумму скопированного файла? Правильно прочитать его.

anc ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.