У нас было около 1 миллиона файлов в каталоге (около 4 лет).
И мы использовали robocopy для перемещения файлов в каталог YYYY / MM (около 35-45 000 файлов в месяц). Мы поместили скрипт robocopy в файл .bat, например так:
ROBOCOPY /NS /NC /NFL /NP /LOG+:H:\BCK_REPORT\ROBO.LOG /MAXAGE:20081101 /MINAGE:20081201 /MOV H:\Cs\out\fix H:\BCK_REPORT\2008\11
ROBOCOPY /NS /NC /NFL /NP /LOG+:H:\BCK_REPORT\ROBO.LOG /MAXAGE:20081201 /MINAGE:20090101 /MOV H:\Cs\out\fix H:\BCK_REPORT\2008\12
ROBOCOPY /NS /NC /NFL /NP /LOG+:H:\BCK_REPORT\ROBO.LOG /MAXAGE:20090101 /MINAGE:20090201 /MOV H:\Cs\out\fix H:\BCK_REPORT\2009\01
ROBOCOPY /NS /NC /NFL /NP /LOG+:H:\BCK_REPORT\ROBO.LOG /MAXAGE:20090201 /MINAGE:20090301 /MOV H:\Cs\out\fix H:\BCK_REPORT\2009\02
краткие заметки .. /ns /nc /nfl /np
это для того, чтобы избежать раздувания файла журнала с дополнительной информацией
/log+...
, чтобы записать сводную информацию в файл журнала.
/minage and /maxage is to copy files modified with in that date range.
так, например, файлы, измененные> = 01 / ноябрь 2008 года (включительно) для файлов, измененных <01 / декабря / 2008 (не включительно)
ROBOCOPY /NS /NC /NFL /NP /LOG+:H:\BCK_REPORT\ROBO.LOG /MAXAGE:20081101 /MINAGE:20081201 /MOV H:\Cs\out\fix H:\BCK_REPORT\2008\11
/mov
переместить файлы
затем приходит исходный каталог
затем идет каталог назначения (каталоги будут создаваться на лету по мере необходимости).
На передачу за 1 месяц ушло около 40–60 минут (около 35–45 000 файлов). Мы считаем, что на передачу за 1 год уходит около 12 часов или меньше.
Использование Windows Server 2003.
Все вещи записываются в файл журнала ... Время начала, Время окончания и Количество скопированных файлов.
Робокопия спасла день.