У меня есть QNAP TS-251+ NAS (подключенный через VPN + SMB, если это имеет значение), и я хотел бы сделать резервную копию файлов с двух машин на него (под управлением Windows 8.1 и Windows 10), в основном данные профиля пользователя (Мои документы и т.д.) , В настоящее время я не использую функцию моментального снимка NAS, он работает со стандартной настройкой RAID.

Я думаю, что было бы неплохо скопировать данные на уровне файлов, чтобы быть уверенными, что они будут доступны позже. У меня есть небольшие проблемы с доверием с проприетарными форматами резервного копирования, и это также даст мне доступ к файлам с моего телефона. Это была бы однонаправленная синхронизация, так что я мог бы удалить материал с моего ПК, но он все еще был бы доступен на NAS, пока я не удалю его оттуда вручную. Я думаю, что Robocopy будет стандартным выбором здесь?

Но я также хотел бы сохранить историю файлов. Например, если файлы повреждены локально, и я не замечаю, что сервер был обновлен с изменениями. Я предполагаю, что это будет трудно / невозможно сделать на уровне файлов, если кто-то хочет сохранить структуру каталогов и т.д. Итак, может быть, сочетание с инструментом "истории файлов" на NAS?

Наконец, я также хотел бы зашифровать резервное копирование всего NAS в облачное хранилище. Есть хорошие кандидаты на это?

Благодарю.

1 ответ1

0

У rsync (например, Robocopy для Unix; он работает и в Windows) есть опция --link-dest которая указывает удаленную базовую линию для новой копии. Вы можете получить его, установив Cygwin и выбрав пакет rsync.

Ваш QNAP изначально поддерживает rsync, поэтому вы можете использовать назначение rsync (вместо записи в общий ресурс SMB).

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

Жесткая ссылка не является "ссылкой" в обычном смысле; это ссылка на содержимое файла, точно так же, как исходное имя файла является ссылкой на содержимое файла. При удалении файла содержимое не освобождается, если количество ссылок не равно нулю. Это означает, что вы можете удалить любую заданную резервную копию, и окружающие резервные копии останутся нетронутыми.

Большинство готовых решений rsync будут основаны на Unix и нуждаются в некоторой обработке, чтобы работать под Cygwin bash. Вы также можете свернуть свои собственные. У Майкла Якла есть хороший учебник, который объясняет основы; короче говоря, вы начинаете с этого:

rsync -aP --link-dest=../$PREVIOUS_BACKUP $SOURCE qnap::backups/$NEW_BACKUP

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

Обратите внимание, что аргумент link-dest относится к месту назначения. Вы не указываете имя хоста в нем.

Что касается вашего второго вопроса: существует множество инструментов для синхронизации файлов в облаке. Я использую rclone и не имею жалоб. Он поддерживает множество облачных провайдеров и хорошо справляется с шифрованием.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .