Назад | Перейти на главную страницу

Архивирование старых файлов без покупки полной системы архивирования

У меня есть большой файловый сервер Windows с примерно 2 ТБ данных, примерно половина из которых старше 2 лет (в зависимости от даты модификации). Как лучше всего архивировать эти старые данные с помощью скриптов или чего-то еще, но без больших затрат на систему полного архивирования (HSM)?

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

Кстати, архив будет на другом диске с разрешениями только для чтения.

Кто-нибудь реализовал нечто подобное? Как пользователи могли бы легко получить доступ к архиву?

Я делаю все свои резервные копии с помощью Rsync. Даже если сервером является Windows (каковым является мой), вы можете выполнить резервное копирование с помощью компьютера Linux или даже использовать версию Rsync для Windows.

Rsync проверит, какие файлы были изменены с момента последнего резервного копирования, и синхронизирует только разницу. Он даже выполняет двоичные различия и передает только изменения файла, а не весь файл.

Суть в том, что Rsync действительно полезен и чрезвычайно эффективен. Единственным недостатком является то, что вам придется создавать свои собственные сценарии, чтобы использовать его эффективно. Я написал статью о том, как делать ежедневные, еженедельные и ежемесячные резервные копии здесь: http://www.marksanborn.net/howto/use-rsync-for-daily-weekly-and-full-monthly-backups/

Если вы используете PowerShell, вы можете использовать следующий сценарий. Это будет проходить через каждый каталог в корне E :, сопоставлять только файлы, которые старше или равны 8/24/2007 (двухлетней давности), и перемещать их по пути, хранящемуся в $ archiveTarget.

$sourceDir = "E:\"
$archiveTarget = "\\server\share\arhive\folder\"

Get-ChildItem $sourceDir -recurse | Where-Object {!$_.PsIsContainer -and  $_.LastWriteTime -le "8/24/2007"} | ForEach { Move-Item -path $_.FullName -destination $archiveTarget }

Вы можете изменить переменную для указания конкретных дисков или папок по очереди, пока не закончите. Используйте аргумент PowerShell -whatif, чтобы увидеть, что произойдет без фактического перемещения чего-либо. Также можно передать результаты в текстовый файл.

Пытаться http://www.mltek.co.uk/archivemanager.aspx.

Я искал в Интернете такое же решение и нашел их. Похоже, они делают действительно дешевую «облегченную» версию, которая может перемещать файлы в другое место (используя UNC-путь), а затем даже оставлять бесшовные заглушки, чтобы казалось, что файлы все еще там.

Стоит попробовать.