Инструменты пользователя

Инструменты сайта


win:arch-script

Архивируем базы 1С

Скрипт создает 60 архивов. Архивы первого числа и последнего каждого месяца копируются в свои каталоги.

s34.js
/////////////////////////////////
// alexey@leonchik.ru
 
var DEST_DIR = 'C:\\Arch';
var ARCH_NAME_PREFIX = '1C_';
 
var NEED = 'C:\\Arch\\need.lst';
var NO_NEED = 'C:\\Arch\\noneed.lst';
var ARCH_COUNT = 60;
var Count;
var shl = WScript.CreateObject('WScript.SHell');
var fso = WScript.CreateObject('Scripting.FileSystemObject');
var bWaitOnReturn = true;
var sSimpleMess = "Текст сообщения";
var bLastDay;
var nCurDate = new Date().getDate() ;
var nCurMonth = new Date().getMonth() + 1;
var nCurYear = new Date().getYear();
var sFNameDest = nCurYear + '-' + nCurMonth + '-' + nCurDate + '.7z'
 
//--------------------------------
 
function isLastDayMonth() {
	cdate = new Date();
	nextDate = new Date(cdate.getFullYear(), cdate.getMonth(), cdate.getDate() + 1);
 
	if(nCurMonth != nextDate.getMonth() + 1)
		return true;
	else
		return false;
}
 
//--------------------------------
 
bLastDay = isLastDayMonth();
 
//--------------------------------
 
//
// 1C_8.zip -> 1C_9.zip
// ....................
// 1C_0.zip -> 1C_1.zip
//
 
Count = ARCH_COUNT - 1;
 
while(Count) {
	shl.Run('cmd /c cd ' + DEST_DIR +
	' && move /Y ' +
	ARCH_NAME_PREFIX + (Count-1) + '.7z ' +
	ARCH_NAME_PREFIX + Count + '.7z',
	7, bWaitOnReturn);
	Count --;
}
 
shl.Run('"C:\\Program Files\\7-Zip\\7z" a -r -scsWIN -xr@' +
	NO_NEED + ' ' + DEST_DIR + '\\' + ARCH_NAME_PREFIX + '0.7z @' + NEED,
	7, bWaitOnReturn);
 
if(nCurDate == 1) {
	fso.CopyFile(DEST_DIR + '\\1c_0.7z', DEST_DIR + '\\FirstDay\\' + sFNameDest);
}
 
if(bLastDay) {
	fso.CopyFile(DEST_DIR + '\\1c_0.7z', DEST_DIR + '\\LastDay\\' + sFNameDest);
}
 
//--------------------------------
 
// Передаем на хранение другому серверу
// shl.Run('cmd /c cd ' + DEST_DIR + ' && ftp -s:mvarch.txt -i', 7, bWaitOnReturn);

В файле need.lst указывается то что надо архивировать

need.lst
d:\Distr\1C_Base\Buh_1
d:\Distr\1C_Base\Buh_2
d:\Distr\1C_Base\Buh_3\1SBDB
d:\Distr\1C_Base\Zarplata\BaseZic
D:\Distr\1C_Base\SKAT77
"D:\Distr\1C_Base\Айрапентян бух"
"D:\Distr\1C_Base\Копия Buh_2"
D:\Distr\1C_Base\SCAT
"D:\Distr\1C_Base\Управяющий"
"D:\Distr\1C_Base\ООО РБУ №34"
D:\Distr\1C_Base\SCAT_NEW
D:\Distr\1C_Base\OOO_dv_pz_gs

В файле noneed.lst указываем что не помещать в архив

noneed.lst
*.cdx
*.rar
*.zip
*.jpg
*.gif

Файл mvarch.txt является файлом настроек для FTP-клиента. дополнительно архивы копируются на сервер.

mvarch.txt
open 192.168.36.254
archiver
Archiver
binary
lcd d:\Arch
mput *.7z
quit
win/arch-script.txt · Последние изменения: Wed, 17 Sep 2014 22:07 — root