1С и Postgres: Бэкап

17.12.10

База данных - Архивирование (backup)

Для начала пару слов о том, зачем и когда он нужен. Ни для кого не секрет, что сервер это не просто компьютер, а надежный компьютер! Поэтому, если он не сломался в первую неделю после запуска, то не сломается еще очень долго. И поэтому у вас всегда есть возможность какое-то время оставаться вовсе без резервной копии

Всем привет!

Надеюсь кто-то уже читал мою статью 1С и Postgres: Введение? Если нет, ну и черт с ней :)

Сегодня напишу про нюансы с бэкапом.

Самым узким местом любого сервера на сегодняшний день есть его дисковая подсистема. И поэтому все стараются сделать так, чтобы снизить риски именно в этой части.

Поскольку бэкап подразумевает что вы чего-то боитесь, это значит что есть РИСК.

Какие могут быть риски: вылетел винт, вылетела оперативная память, вылетела сетевуха, вылетела мать и пр. Все эти риски приводят к одному результату - краху БД.

Все риски, кроме "вылетел винт" я опишу в статье 1С и Postgres: Кластер.

Существует три класических схемы построения хранилища:

1. Сервер -  Диск

2. Сервер -  Рейд - Диски

3. Сервер - FB/SCSI/SAS свитч - Сторадж (Райд+Диски)

Нюанс 1. Бэкап для случая "Сервер -  Диск"

Если у вас именно так все организованно, то вам обязательно и как минимум одн раз в день нужно делать бэкап. Привожу пример:

#pg_dump $d | gzip -c > $DIR/$d.dmp.gz

где $d - имя вашей БД, а $DIR - каталог для бэкапов

Но это не все. Смысла хранить бэкап там же где и сама БД нет смысла, поэтому позаботьтесь о копии на SAN или NAS или USB HDD или флешку. Пример:

#scp -P $PORT $DIR/$d.dmp.gz $RHOST:$RDIR

где $PORT - порт вашего ssh, $RHOST - удаленный хост, куда копируем, $RDIR - каталог на удаленном хосте куда копируем

Как скопировать на USB или samba хост, google  найдет вам много примеров.

Важно! Копируйте бэкап в течении недели в разные каталоги. Пример:

DAY=`date +%u`

RDIR=/var/lib/pgsql/backup/daily/$DAY

       `ssh -p $PORT $RHOST "rm -f $RDIR/$d.dmp.gz"`

        if `scp -P $PORT $DIR/$d.dmp.gz $RHOST:$RDIR`
        then
               echo ": Remote copy $dc backup to $RHOST/$RDIR complete."
            else
                echo ": Remote copy $dc.dmp.gz to $RHOST FAILED."
        fi

Здесь главное обратить внимание на DAY. $DAY - это день недели от 1 до 7. Таким образом у вас будет хранится постоянно семь актуальных бэкапов ваших БД.

Нюанс 2. Бэкап для случая "Сервер -  Райд - Диск" и "Сервер - FB/SCSI/SAS свитч - Сторадж (Райд+Диски)"

В таком случае риск потери данных ниже, но все же есть.

Райд (RAID) - это ваш способ выиграть время! Используйте RAID 0 только если вы уверены, что вы в безопасности. В остальных случаях это:

а) много дисков, 6 шт и более - RAID 10

б) много дисков, но скорость не важна, гланое надежность - RAID 5 или RAID 6

в) мало дисков, до 6 шт - RAID 5

г) 2 диска - RAID 1

в) супернадежность и много дисков - RAID 50 или RAID 60

Бэкап делаем также как описано выше.

Заключение

Сделав бэкап тем же pg_dump, если есть возможность, обязательно распакуйте и проверьте его.

Вы спросите как? Просто залейте его в новую БД. Мало сделать бэкап, нужно еще быть уверенным, что он не битый!

Я на практике применяю Bacula для  централизованного бэкапа всего что нужно.

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42522    10    24    

38

BackUPv8 - система резервного копирования баз 1С

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    14733    13    6    

18

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    5871    n_mezentsev    15    

25

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    19825    sapervodichka    36    

142

Архивирование базы в dt и дамп postgres

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    4718    2    Gnom-Gluck    6    

6

Утилита копирования баз данных 1С

Архивирование (backup) Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    4236    3    Giblarium    12    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. azhdan 21.12.10 16:31 Сейчас в теме
судя по тексту автор предлагает сразу бекапы сжимать..а автор не пробовал развернуть бекап базы размером около 30Г сжатый в архив?
2. alexcid 147 22.12.10 17:52 Сейчас в теме
azhdan пишет:

судя по тексту автор предлагает сразу бекапы сжимать..а автор не пробовал развернуть бекап базы размером около 30Г сжатый в архив?

Пробовал и что? Неужели вы думаете, что винт быстрее пишет, чем процессор распаковывает архив?

#gunzip -c $d.dump.gz | psql database_name

P.S. Для примера БД 105 ГБ, время распаковки примерно 5 часов
3. V_V_V 22.12.10 18:15 Сейчас в теме
А перед pg_dump там сервер Postgres остановить, пользователей повыгонять нужно?
4. alexcid 147 25.12.10 02:12 Сейчас в теме
V_V_V пишет:

А перед pg_dump там сервер Postgres остановить, пользователей повыгонять нужно?


Нет. Не обязательно.
Оставьте свое сообщение