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