Резервное копирование базы данных из командной строки
Резервное копирование базы данных из командной строки
В нашей базе 11 предприятий. Размер полного архива 25Мб. Размер базы 144Мб.
Если выполнять резервное копирование стандартным способом при выходе из программы, выбрав резервное копирование для всех предприятий,
то эта процедура на сервере (Dual Xeon HT 2,8ГГц, 5Гб ОЗУ, RAID5) выполняется около полутора часов, а это неприемлемо.
Вопрос №1
Почему так долго???
Бэст Звит резервное копирование одного предприятия выполнял за 1-2 минуты
Вопрос №2
Резервное копирование из командной строки - возможно ли такое?
Если выполнять резервное копирование стандартным способом при выходе из программы, выбрав резервное копирование для всех предприятий,
то эта процедура на сервере (Dual Xeon HT 2,8ГГц, 5Гб ОЗУ, RAID5) выполняется около полутора часов, а это неприемлемо.
Вопрос №1
Почему так долго???
Бэст Звит резервное копирование одного предприятия выполнял за 1-2 минуты
Вопрос №2
Резервное копирование из командной строки - возможно ли такое?
-
- Руководитель проекта
- Повідомлень: 49
- З нами з: 20 червня 2011, 17:15
Re: Резервное копирование базы данных из командной строки
1. Попробуйте в Плюсе создать рк у которой база превышает 300 мб. а в медке при тесте делали РК на предприятие у которого база 1 гб. из-за возможности обработки больших объемов пришлось пожертвовать скоростью создания.
2. если сами настроите планировщик задач
2. если сами настроите планировщик задач
Re: Резервное копирование базы данных из командной строки
Планировщик настрою, расскажите как запустить Р.К. из командной строки
Re: Резервное копирование базы данных из командной строки
Присоединяюсь к вопросу - предполагается ли поддержка командной строки?
Или, как вариант - отдельный модуль в серверной версии, выполняемый от администратора копии m.e.doc, который бы делал резервные копии, складывал по указываемому пути, и писал результат выполнения в лог (и/или отправлял на е-мейл). Заодно - который бы опрашивал обновления, при их наличии - обновлял программу.
В конце концов пусть это будет отдельная услуга с какой-то ценой..
Или, как вариант - отдельный модуль в серверной версии, выполняемый от администратора копии m.e.doc, который бы делал резервные копии, складывал по указываемому пути, и писал результат выполнения в лог (и/или отправлял на е-мейл). Заодно - который бы опрашивал обновления, при их наличии - обновлял программу.
В конце концов пусть это будет отдельная услуга с какой-то ценой..
Re: Резервное копирование базы данных из командной строки
Разработчики, ау!
В 1С 77 есть так называемый пакетный режим для выполнения различных адм. действий и в том числе выполнения резервных копий.
Чем медок хуже???
В 1С 77 есть так называемый пакетный режим для выполнения различных адм. действий и в том числе выполнения резервных копий.
Чем медок хуже???
-
- Повідомлень: 307
- З нами з: 20 вересня 2011, 12:59
- Звідки: Житомир
- Контактна інформація:
Re: Резервное копирование базы данных из командной строки
Навіщо винаходити велосипед. Скачайте Effector saver, встановіть, налагодьте і радійте життю.
Правильні бджоли носять правильний мед.
Re: Резервное копирование базы данных из командной строки
В сетевой версии имеется модуль "Мониторинг", он напорядок выше административных функций Плюса.
А вообще модуль адмиминистрирования сейчас пересматривается. Должно быть со временем больше функций, сейчас главное - стабильная работа Медка.
Скоро конец года, и составление годовой отчетности. Пользователи нас не поймут, если внимание уделим "администрированию", а отчетность будет глючить...Тем более что "Плюс" к тому времени планируется отбросить в прошлое, и хочется свести к минимуму сообщения "Верните нам старый добрый Плюс!"
Со временем внесем изменения, - или до, или после годовой отчетности.
А вообще модуль адмиминистрирования сейчас пересматривается. Должно быть со временем больше функций, сейчас главное - стабильная работа Медка.
Скоро конец года, и составление годовой отчетности. Пользователи нас не поймут, если внимание уделим "администрированию", а отчетность будет глючить...Тем более что "Плюс" к тому времени планируется отбросить в прошлое, и хочется свести к минимуму сообщения "Верните нам старый добрый Плюс!"
Со временем внесем изменения, - или до, или после годовой отчетности.
-
- Повідомлень: 307
- З нами з: 20 вересня 2011, 12:59
- Звідки: Житомир
- Контактна інформація:
Re: Резервное копирование базы данных из командной строки
В М.Е.Доку є кращий механізм: архівування при завершенні роботи. Як на мене, цього достатньо в такій реалізації як є.micmanm писав:Разработчики, ау!
В 1С 77 есть так называемый пакетный режим для выполнения различных адм. действий и в том числе выполнения резервных копий.
Чем медок хуже???
Єдине зауваження ДОДАТИ ВЕРСІЮ (РЕДАКЦІЮ) ПРОГРАМИ В ІМ'Я ФАЙЛА АРХІВУ
Правильні бджоли носять правильний мед.
-
- Повідомлень: 2
- З нами з: 30 вересня 2011, 11:22
Re: Резервное копирование базы данных из командной строки
Недостаточно. И это не лучший механизм.volodymyr.galytskyy писав: В М.Е.Доку є кращий механізм: архівування при завершенні роботи. Як на мене, цього достатньо в такій реалізації як є.
M.e.doc сервер, 5-10 клиентов, база > 250Mb, работают не все и не каждый день. Кого заставить заходить и делать резервную копию каждый день?
Необходима возможность запуска из планировщика с параметрами командной строки. Или отдельное приложение, опять же, с параметрами командной строки.
-
- Повідомлень: 307
- З нами з: 20 вересня 2011, 12:59
- Звідки: Житомир
- Контактна інформація:
Re: Резервное копирование базы данных из командной строки
Навіщо ж архівувати за той день, коли роботи не було.MidnightRAT писав: M.e.doc сервер, 5-10 клиентов, база > 250Mb, работают не все и не каждый день. Кого заставить заходить и делать резервную копию каждый день?
Я вам пораджу архівувати файл Zvit.fdb якимось автоматичним архіватором, наприклад Effector saver.
Не сприйміть за рекламу. Сам користуюсь. Зручна річ.
Правильні бджоли носять правильний мед.
-
- Повідомлень: 25
- З нами з: 26 вересня 2011, 16:46
- Звідки: Харьков, ЧП "Мейн-Мейкер"
Re: Резервное копирование базы данных из командной строки
Присоединяюсь к предложению командной строки с параметрами, в планировщике создать запись вроде "C:\documents and settings\all users\application data\medoc\medoc\ezvit.exe -backup -all -autoexit", настроенную на запуск в полночь, было бы очень кошерно, особенно для админов!
Re: Резервное копирование базы данных из командной строки
Да, только вот проблема есть с этим архивированием - делается оно в локальную папку, а не в сетевую - НЕПОРЯДОК, однако.volodymyr.galytskyy писав:В М.Е.Доку є кращий механізм: архівування при завершенні роботи. Як на мене, цього достатньо в такій реалізації як є.micmanm писав:Разработчики, ау!
В 1С 77 есть так называемый пакетный режим для выполнения различных адм. действий и в том числе выполнения резервных копий.
Чем медок хуже???
Єдине зауваження ДОДАТИ ВЕРСІЮ (РЕДАКЦІЮ) ПРОГРАМИ В ІМ'Я ФАЙЛА АРХІВУ
Для простого копирования можно использовать скрипт BackUp.js и засунуть его в шедул винды
Код: Виділити все
//========================================C:\Scripts\BackUp.js==============================
// Скрипт создает резервные копии файлов,
// помещая их в подкаталог с названием дня недели
//======================================================================
var sourse_dir = "x:\\Medoc\\db"; //каталог-источник
var backup_dir = "y:\\Archive\\MeDoc"; //каталог для резервных копий
var interactive = 0; //показ информации об успешном копировании. 1-да, 0-нет
var CheckNewDate = 0; //копировать только если дата изменилась. 1-да, 0-нет
var WinRAR = '"C:\\Program Files\\WinRAR\\WinRAR.exe"';
//======================================================================
var success = true;
var backup_dir_day = backup_dir + "\\" + fnGenName();
var fso = new ActiveXObject("Scripting.FileSystemObject");
if( !fso.FolderExists(backup_dir) )
{
WScript.Echo("Путь к каталогу копий не найден");
WScript.quit();
}
if( !fso.FolderExists(backup_dir_day) )
fso.CreateFolder(backup_dir_day);
if( (CheckNewDate && NewDate()) || !CheckNewDate ) //дата новая или не проверять дату
{
var shell = new ActiveXObject("WScript.Shell");
shell.Run(WinRAR + " a -u -as -r -m0 -ibck -dh -inul " + backup_dir_day + "\\" + fnGenName() + ".rar " + sourse_dir);
}
if( CheckNewDate && success ) //если есть проверка даты и успешное завершение
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile(backup_dir_day + "\\created", true);
}
if( interactive )
{
if( success )
WScript.Echo("Процесс создания резервной копии закончен");
else
WScript.Echo("Процесс создания резервной копии закончен с ошибкой");
}
//===========================================================================
function fnGenName()
{
var date = new Date();
var weekday=new Array(7)
weekday[0]="Воскресенье"
weekday[1]="Понедельник"
weekday[2]="Вторник"
weekday[3]="Среда"
weekday[4]="Четверг"
weekday[5]="Пятница"
weekday[6]="Суббота"
return(weekday[date.getDay()]);
}
//======================================================================
function FileCopy(filename)
{
if( success == false )
return;
if( !fso.FileExists(sourse_dir + "\\" + filename) )
{
WScript.Echo("Файл-источник " + sourse_dir + "\\" + filename + " не найден");
success = false;
return;
}
var File = fso.GetFile(sourse_dir + "\\" + filename);
File.Copy(backup_dir_day + "\\" + File.Name);
success = fso.FileExists(backup_dir_day + "\\" + File.Name);
}
//======================================================================
function NewDate()
{
if( !fso.FileExists(backup_dir_day + "\\created") )
return true;
datefile = ("" + fso.GetFile(backup_dir_day + "\\created").DateLastModified).substr(0, 10);
datenow = ("" + Date()).substr(0, 10);
//WScript.Echo(datefile);
//WScript.Echo(datenow);
return datefile != datenow;
}
//======================================================================
У меня 10 Бухов, каждый работает со своим предприятием или предприятиями. с какими именно - я не слежу. поэтому нужно все и каждый деньvolodymyr.galytskyy писав:Навіщо ж архівувати за той день, коли роботи не було.MidnightRAT писав: M.e.doc сервер, 5-10 клиентов, база > 250Mb, работают не все и не каждый день. Кого заставить заходить и делать резервную копию каждый день?
Re: Резервное копирование базы данных из командной строки
для остановки службы и запуска скрипта делаем батник со след содержанием
sc stop ZvitGrp
C:\Scripts\BackUp.js
батник в расписание и все.
sc stop ZvitGrp
C:\Scripts\BackUp.js
батник в расписание и все.
Re: Резервное копирование базы данных из командной строки
А запустить службу?pavel писав:для остановки службы и запуска скрипта делаем батник со след содержанием
sc stop ZvitGrp
C:\Scripts\BackUp.js
батник в расписание и все.
Как написать батник немного помню, но некоторые тонкости забыл уже.... нужно дождаться выполнения скрипта (или правильнее сделать паузу 300-600 сек и запустить следующую команду.
Но опять таки это костыль. хочется нормально средствами самой программы. это делать
-
- Повідомлень: 26
- З нами з: 26 листопада 2012, 09:02
- Звідки: Украина
- Контактна інформація:
Re: Резервное копирование базы данных из командной строки
:: остановили службу
SC STOP ZvitGrp1
:: пинг самого себя, типа паузы в выполнении скрипта 07 сколько раз пинговать можно поставить хоть 100 из расчета 1 пинг 1 секунда
127.0.0.1 -n 07
:: запускаем службу медка
SC START ZvitGrp1
:: выходим
EXIT
SC STOP ZvitGrp1
:: пинг самого себя, типа паузы в выполнении скрипта 07 сколько раз пинговать можно поставить хоть 100 из расчета 1 пинг 1 секунда
127.0.0.1 -n 07
:: запускаем службу медка
SC START ZvitGrp1
:: выходим
EXIT
Век живи, век учись...