Имя: Пароль:
1C
1С v8
Backup базы документооборота в PostgrSQL
,
0 kelebro63
 
18.06.12
09:04
Доброе утро) Имеем 1с 8.2 Документооборот на СУБД PG. Как настроить автоматический бэкап? Лучше наверное средствами 1с. Подскажите скрипт пожалуйста или программное решение.
1 tridog
 
18.06.12
09:07
(0) Лучше pg_dump
2 Diose
 
18.06.12
09:13
(0) Регламентное задание. Примерно так...

Кв = Символ(34); //КодСимвола("""");
   ПутьК1С = "C:\Program Files (x86)\1cv82\common\1cestart.exe";
   ИмяПользователя = "LOGIN";
   Пароль = "Pass";
   ПутьК_Архиву = "\\"архив1.dt";
   
   СтрокаЗапуска = Кв + ПутьК1С + Кв + " config /s " +  Кв + ИмяСервера +"\"+ИмяБазы + Кв + " /N"+ Кв + ИмяПользователя + Кв + " /P" + Кв + Пароль + Кв + " /DumpIB " + Кв + ПутьК_Архиву +Кв;

   КомОбъект = Новый COMObject("wScript.Shell");
   КомОбъект.Run(СтрокаЗапуска);
3 kelebro63
 
18.06.12
09:47
А "имясервера" это название самого сервака, или связано с PG? "Имябазы", то как она называется в PG?
4 YF
 
18.06.12
09:48
(2) Уж сколько лет твердили миру, что выгрузка в dt это не бэкап.

(0) Скриптом можно запускать команду бэкапа для PG-сервера
5 xReason
 
18.06.12
09:50
(4) а что же это тогда? разве не копия данных ?
6 SunFox
 
18.06.12
09:51
set now=%DATE: =0% %TIME: =0%
for /f "tokens=1-7 delims=/-:., " %%a in ( "%now%" ) do (
   set now=%%c%%b%%a_%%d%%e
)

SET PGUSER=sa
SET PGPASSWORD=ff256ff

"F:\PostgreSQL\9.0.3-3.1C\bin\pg_dump.exe" -i -h localhost -p 1111 -U sa -F c -b -c -o -v -f F:\Bakcap\PG\Enterprise(%now%).backup Enterprise
7 mikecool
 
18.06.12
09:51
(5) дт - средство для переноса
у меня например загрузить дт уже не получается в новую базу
8 SunFox
 
18.06.12
09:51
(6)+ только надо научиться еще и востанавливать
9 kelebro63
 
18.06.12
09:54
(6) это в батник писать?
10 SunFox
 
18.06.12
09:54
(9) да
11 kelebro63
 
18.06.12
10:07
SET PGUSER=sa
SET PGPASSWORD=ff256ff

здесь надо свои данные подставлять? как я понял логин и пароль для подключения к базе в PG?
12 SunFox
 
18.06.12
10:14
(11) да
13 kelebro63
 
18.06.12
10:19
Переделал скрипт. Архив создается размером 0 кб.

скрипт теперь такоой

set now=%DATE: =0% %TIME: =0%
for /f "tokens=1-7 delims=/-:., " %%a in ( "%now%" ) do (
   set now=%%c%%b%%a_%%d%%e
)

SET PGUSER=postgres
SET PGPASSWORD=27

"C:\Program Files\PostgreSQL\9.0.3-3.1C\bin\pg_dump.exe" -i -h localhost -p 27 -U postgres -F c -b -c -o -v -f C:\Enterprise(%now%).backup Enterprise

Что неправильно?
14 SunFox
 
18.06.12
10:21
выполни команду в cmd и посмотри на, что ругается
15 kelebro63
 
18.06.12
10:27
for /f "tokens=1-7 delims=/-:., " %%a in ( "%now%" ) do (
   set now=%%c%%b%%a_%%d%%e
)

здесь "непредвиденное появление %%а"

а в самом низу при коннекте к базе пишет invalid port number 27
16 SunFox
 
18.06.12
10:27
-p Это не пароль
17 SunFox
 
18.06.12
10:28
поставь -p 5432
18 Vovchai
 
18.06.12
10:29
Эффектор Сэйвер
/thread
19 kelebro63
 
18.06.12
10:31
(17) Database Enterprise  does not exist
20 SunFox
 
18.06.12
10:33
Имя базы у тебя то же Enterprise?
21 SunFox
 
18.06.12
10:34
напиши имя базы своей
22 BigHarry
 
18.06.12
10:39
Был случай, что не загружался дамп в 1С-овскую версию постгря под виндой, происходило это из-за больших блобов (в базе картинки хранились). При этом тот-же дамп спокойно загрузился в постгря под линухом.
23 kelebro63
 
18.06.12
10:40
(21) отлично что-то выгрузилось))  только командная строка зависает на экране и не пропадает потом, это нормально? и как проверить все ли нормально выгрузилось. И как загрузить данные обратно, если что-то случиться?
24 SunFox
 
18.06.12
10:42
(22) был случай, что все было хорошо при выгрузке и загрузке, а при запуске востановленной базы куча ошибок в 1С,
поэтому все нужно с начала откатать, подобрать нужные параметры команд.
25 SunFox
 
18.06.12
10:42
с выгрузко ковыряй уже сам команду - pg_restore
26 SunFox
 
18.06.12
10:43
(25) с загрузкой, вернее
27 kelebro63
 
18.06.12
10:43
(26) оке, спасибо)
28 SunFox
 
18.06.12
10:44
(27) пожалуста
29 BigHarry
 
18.06.12
10:47
(24) У мну такого не было, параметры команды выгрузки самые тривиальные, даже формат выгрузки  не трогал, главное кодировку бд оставить в utf-8 - тогда у 1С точно крышу не должно сносить...
30 Максиум
 
18.06.12
14:54
можно настроить автоматический бэкап программой. например через Handy Backup - http://www.handybackup.ru/rezervnoe-kopirovanie-postgresql.shtml
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший