MG34
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Для упорядочивания архивов Акрониса предлагаю следующий скрипт. Скрипт переносит архивные файлы (.tib), созданные Акронисом в подкаталог с именем (dd_mm_yyyy) равным дате создания самого раннего архива в каталоге. Создаёте файл с расширением .js копируете в него код, меняете строчку, в которой указан путь к архивам. У меня в шэдулере акрониса две задачи - одна создаёт полный бэкап раз в месяц, вторая инкрементный кажлый день. В свойствах первой задачи где Pre/Post commands указываем исполнять этот скрипт. В результате, перед созданием полного бэкапа, все предыдущие (full -- inc -- inc --) переносятся в подкаталог с датой, и акронис начинает создавать новую последовательность full -- inc -- inc -- inc -- и т.д. Код: // JavaScript для переноса архивных файлов, созданных Acronis True Image (c) // в подкаталог с именем (dd_mm_yyyy) равным дате создания самого раннего архива в каталоге. // Иван Котенко (с) 2007 var fso = new ActiveXObject("Scripting.FileSystemObject"); var WSHShell = WScript.CreateObject("WScript.Shell"); var EarlyDate = new Date(); // Каталог с архивами акрониса. Например: "Z:" , "D:\\archives" , "F:\\basa\\logs" var FolderName = "D:\\Archives"; // Проверка наличия каталога if (!(fso.FolderExists(FolderName))) { WSHShell.LogEvent(1,"Acronis script error - directory not exist"); WScript.Quit (1); } // обрабатываем файлы в каталоге var objFolder = fso.GetFolder(FolderName); var subfile = new Enumerator(objFolder.Files) ; var file; var d, s1, s2, s3 ; // Операции с файлами for (;!subfile.atEnd(); subfile.moveNext()) { file = subfile.item(); // проверяем дату изменения файлов с расширением ".tib" (архивы) if ((fso.GetExtensionName(file)) == "tib") { d = new Date(file.DateLastModified); if (d <= EarlyDate) // находим самый старый файл { EarlyDate = d ; s1 = d.getDate()+""; s2 = d.getMonth()+1+""; s3 = d.getYear()+""; } } else continue; } // создаём имя нового подкаталога (дата самого раннего архива) var NewFolderName =AddZero(s1)+"_"+AddZero(s2)+"_"+s3; // создаём новый подкаталог var NewFolder = fso.CreateFolder(NewFolderName); // переносим файлы в подкаталог fso.MoveFile(FolderName+"\\*.tib",NewFolder); WSHShell.LogEvent(0,"Acronis script completed successfully"); WScript.Quit (0); function AddZero(dd) { var s; if ((dd.length) < 2) { s="0"+dd; } else s=dd; return(s); } |
|