У меня есть большой файловый сервер 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-путь), а затем даже оставлять бесшовные заглушки, чтобы казалось, что файлы все еще там.
Стоит попробовать.