Basic Software-Design Вопросы о бэкап-проге. в D - PullRequest
1 голос
/ 11 февраля 2011

Для некоторых проблем с Webhost мне нужно написать инструмент резервного копирования / синхронизации файлов для общей ОС в секторе серверов (Windows / Linux). Большинство корневых серверов Linux предлагают ssh-интерфейс для безопасной связи, чтобы я мог использовать SSH File Transfer Protocol, но каково лучшее решение на стороне Windows (на лету)? И есть ли хорошие библиотеки D (или альтернативы C)

Я пишу здесь, а не в стеке администратора или Windows, потому что есть одна причина: важно, чтобы существовали библиотеки. Поэтому простая реализация важнее, чем наличие интерфейса или протокола. Простота и особенности языка, а не возможности имеют приоритет.

В общем, я ищу простой способ реализовать независимый от ОС инструмент для обмена файлами. Для выполнения синхронизации должна быть возможность доступа к некоторой информации о файле (время последней записи, время изменения, размер файла и т. Д.)

edit: «Моя версия» инструмента синхронизации должна работать на новой системе без дополнительной установки sotfware (возможно, некоторая автоматическая установка через ssh-windows-эквивалент [если есть)] Вы только вводите свои данные доступа, и они должны работать. Кроме того, мне также нужен протокол, и это самая большая проблема. Поскольку ssh не работает на окнах на лету - есть ли эквивалент?

1 Ответ

1 голос
/ 11 февраля 2011

rsync - это популярный инструмент синхронизации файлов, который лучше всего подходит для добавления, удаления или расширения файлов.Он очень хорошо отлажен и довольно прост в настройке.(rsync -avzP username@hostname:/path/to/source/ /path/to/dest/ или rsync -avzP /path/to/source/ username@hostname:/path/to/dest/ являются общими.)

rsync часто туннелируется через ssh;у него есть собственный протокол, если вы не возражаете против его публичного открытия.

Но если у вас много данных, которые слегка перемещаются или часто переименовываются, такой инструмент, как git может намного лучше использовать пропускную способность.Он имеет недостаток в сохранении истории с обеих сторон, что может быть менее эффективным с точки зрения диска, чем вы хотели бы, но он может более чем компенсировать, если ваша пропускная способность немного менее впечатляющая.

gitтакже часто проходит через ssh;у него также есть свой собственный протокол, если вы не возражаете против его публичного открытия.

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

...