Наверное, всем администраторам приходится возиться с резервным копирование информации,
обрабатываемой в офисе. Конечно очень хорошо, когда можно создать расписание копирования информации в программном обеспечении... Но вот иногда встает вопрос о том, что делать если данная возможность не предусмотрена? А если целевой компьютер находится в противоположном углу здания? Приведу пример скрипта, который производит копирование информации по сети, с созданием директории(именем является текущая дата) и записью в лог файл.
обрабатываемой в офисе. Конечно очень хорошо, когда можно создать расписание копирования информации в программном обеспечении... Но вот иногда встает вопрос о том, что делать если данная возможность не предусмотрена? А если целевой компьютер находится в противоположном углу здания? Приведу пример скрипта, который производит копирование информации по сети, с созданием директории(именем является текущая дата) и записью в лог файл.
var Source="D:\\****\\****\\", // Путь к каталогу-источнику
Dest="\\\\******\\******\\", // Путь к сетевому каталогу, в который будет производиться копирование файлов
Mask="*", // Расширение файлов для перемещения
PathLog="\\\\****\\****\\Log.txt"; // Путь к log-файлу
var FSO, Fold, Fils, Fil, enumObj, s, ss, FLog, d, sl, df;
var ForAppending=8;
d=new Date(); //определяем дату
// Создание объекта FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
// Создание объекта Folder для каталога-источника
df=DateToStr(d)+"\\"; ///Нынешняя дата
/////////Создание новой директории с соответствующей датой
Dest=Dest+df;
FSO.CreateFolder(Dest);
Fold=FSO.GetFolder(Source);
Fils=Fold.Files; // Создание коллекции файлов
FLog=FSO.OpenTextFile(PathLog, ForAppending, true) ; // Открытие log-файла
CpFls(); // Перемещение нужных файлов
FLog.Close(); // Закрытие log-файла
/******************************************/
/* Функция CpFls — перемещение файлов */
/******************************************/
function CpFls ( )
{
// Создание объекта Enumerator для коллекции Fils
enumObj=new Enumerator(Fils);
while (!enumObj.atEnd( )) // Цикл для выделения нужных файлов
{
Fil=enumObj.item(); // Создание объекта File для элемента коллекции
Fil.Copy(Dest); // Копирование файла
//////Запісь лог данных////////////////////////
////////////////////////////////////////////////////////////
d=new Date(Fil.DateCreated); // Выделение даты создания файла
ss=LFillStr(13, Fil.name) // Выделение имени файла
sl=" ("+DateToStr (d) +" "; // представление даты
sl+=TimeToStr(d) +") "; // представление времени
ss+=LFillStr(20,sl);
d=new Date (); //В объекте d содержится текущая системная дата
ss+=DateToStr(d); // Формирование нужного представления даты
ss+=" "+TimeToStr(d); // Формирование нужного представления времени
FLog.writeLine (ss); // Запись строки в log-файл
enumObj.moveNext(); // Переход к следующему элементу коллекции
}
FLog.writeLine ("**********************************"); // Запись строки в log-файл
}
/***********************************************************-*/
/* Вспомогательные функции для формирования строк log-файла */
/***********************************************************-*/
function LeadZero(ll, ss)
{
var i,s,ll;
s=ss.toString();
ll=s.length;
if(ll<=ll)
{
for(i=1;K=ll-ll;i++)
s="0"+s;
}
return(s);
}
function DateToStr(dd)
{
var s;
s=LeadZero(2,dd.getDate())+"_";
s+=LeadZero(2, dd.getMonth()+1)+"_";
s+=dd.getYear() ;
return(s);
}
function TimeToStr (dd)
{
var s;
s=LeadZero(2,dd.getHours() ) +" : "+LeadZero (2,dd.getMinutes () ) ;
return (s) ;
}
function LFillStr (l,s)
{
var ss, l, ll;
ll=l-s.length;
if (s.length>=l)
{
return(s);
}
else
{
ss=s;
for (i=l;i<=ll;i++)
{
ss=ss+" ";
}
return(ss);
}
}
Далее вносим данный скрипт в планировщик Windows на компьютере источнике...
Комментариев нет:
Отправить комментарий