pg_dump + текущая дата на windows server 2012 #781891


#0 by newbling
Доброго времени суток. Не подскажете как задать текущую дату при архивации через консольку?
#1 by newbling
На данный момент делаю так cd "адрес постгреin" .pg_dump.exe -Ft -h адрес сервера -U юзер -c база > адрес архива cd "адрес 7-зипа7-Zip" .7z.exe a -tzip адрес архива+[ТекущаяДата?].zip адрес архива del адрес архива
#2 by newbling
всё отрабатывает, но вот текущую дату я никак не могу побороть
#3 by eRik
Есть несколько вариантов, у меня в батнике так: set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2% 7z.exe a e:archivease1c_%now%.7z e:config*.1CD
#4 by Fragster
я себе из-за этого унылого cmd cygwin на сервер поставил
#5 by Fragster
и теперь нормально работает #!/bin/bash backup%H.%M.%S`
#6 by newbling
set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2% а что за ~-4
#7 by newbling
О, отработало присвоение даты, только вот что-то с кодировокй, надо ещё попробовать chcp 1251 сделать
#8 by eRik
>а что за ~-4 отрезать последние 4 символа
#9 by eRik
*в смысле, взять последние 4
#10 by newbling
ясно, спасибо, сейчас как отработает - по результатам скину готовый код, мб ещё кому понадобится
#11 by newbling
:: меняем кодировку CHCP 1251 :: задаём текущую дату set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2% :: делаем дамп средствами pg_dump.exe cd "АдресГдеЛежит_pg_dump.exe" .pg_dump.exe -Ft -h АдресСервераБД -U ЮзерАдминПостгре -c НазваниеБазыВКластере > АдресКудаУпадётДамп :: архивируем дамп, добавляем дату в название и удаляем незаархивированную версию cd "Адрес7Зип" .7z.exe a -tzip АдресКудаУпадётАрхив%now%.zip АдресГдеЛежитДамп del АдресГдеЛежитДамп
#12 by newbling
Теперь вопрос как восстановить =D Пробую cd "АдресГдеЛежит_pg_restore.exe" .pg_restore.exe -h АдресСервераБД -U ЮзерАдминПостгре -c НазваниеБазыВКластере "АдресГдеЛежитДамп" ну и он ругается на то, что мног опараметров, начиная с "АдресГдеЛежитДамп". Хотя, во всех описаниях именно так.
#13 by newbling
я сейчас пробую делать не -Ft, а Fc - так он сразу его сжимает и вроде ка кв описании позволяет поднимать в ресторе.
#14 by newbling
Хм, по ходу не надо ему -c НазваниеБазыВКластере указывать
#15 by NorthWind
тоже вариант... хотя можно использовать штатный гораздо менее унылый PowerShell и штатный не менее веселый VBS.
#16 by newbling
.pg_restore.exe -h АдресСервераБД -U ЮзерАдминПостгре "АдресГдеЛежитДамп" Если так сделаем, то он куда восстановит базу? Там в дампе лежит изначальный адрес что ли?
#17 by newbling
вот так вроде что-то получилось cd "адрес pg_restore.exe" .pg_restore.exe --host хост --port порт --username суперюзер --dbname имя базы --clean --verbose "адрес дампа"
#18 by Fragster
тогда еще повершелла не было. ну и под линупсом работает единообразно почти.
#19 by newbling
пардон, не тот буфер - вот так отработало .pg_restore.exe -h хост -p порт -U суперюзер -d имя базы -c -v "адрес дампа" -с это дропать таблички в найденной базе, я так понимаю это не обязательно, а -v это сообщать подробно что происходит Дамп же я решил делать в формате -Fc, а ни -Ft. Ft грузит просто плейн текст, который потом архивировать, а -c в формате, подходящем для рестора, но уже ужатом. В сравнении с архивацией 7-зипом получается где-то на 10% толще - не критично. По времени быстрее значительно.
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С