170 похожих чатов

У меня возникла задача сделать "защиту от долбоебов". У меня

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

Я придумал делать бекапы базы и кидать их в отдельный топик в группе телеги, чтобы можно было в любой момент откатиться.

Как вы делаете бекап базы данных по таймеру? Вплане у меня ивент луп с тг ботом, который ловит запросики. Делать мультитредом ещё один процесс с бекапом базы?

Насколько я помню, мможет возникнуть ошибка, при которой я буду читать файл во время записи в него данных. А делать всё однопотоком - будет проблема с задержкой на время чтения, и бот не будет отвечать.


В общем, я ни разу не видел как это реализовывают и понятия не имею как это работает. Хелп ми плиз

26 ответов

15 просмотров
Ax3🇺🇦- Автор вопроса

Если кинете статью или лучше пример исходников - буду очень благодарен

делать бэкап перед каждым "DELETE ..."🤓

Ax3🇺🇦- Автор вопроса

Бля. Может "техническую паузу" на это время просто делать...

Ax3🇺🇦- Автор вопроса
Ax3🇺🇦
Бля. Может "техническую паузу" на это время просто...

база легковестная, один текст небольшой да файл айдишники. Даже если большая будет - максимум минуты три

Как копировать БД зависит от того как эта БД устроена

Можно триггер поставить на BEFORE DELETE или я что-то не так понял. Чтобы другие транзакции не влияли можно поставить лок или синхронизировать сами корутины/потоки. А чего бы вообще не добавить флаг в схему. По дефолту true, если надо удалить запись ставишь false

Ax3🇺🇦- Автор вопроса
Леонид
Можно триггер поставить на BEFORE DELETE или я что...

у меня делит происходит каждые минут 5. Бекапать всю базу перед каждой транзакцией - бред

>бд которая может изменяться в рантайме через админ-панель, куда имеет доступ владелец и админы. Это изначально хуёвый подход. Сделай нормальную админку

Arkady Strugatsky
>бд которая может изменяться в рантайме через адми...

Ну если там кнопка добавить/удалить юзера, то что не так

quantum super position
Ну если там кнопка добавить/удалить юзера, то что ...

Я так понял у него прямой доступ к базе из админки

quantum super position
типа запросы писать что ли

Мне кажется у него просто какой-то pgadmin)

Ax3🇺🇦- Автор вопроса
Arkady Strugatsky
>бд которая может изменяться в рантайме через адми...

Э, смысле? Админы имеют доступ изменять бд. Владелец имеет доступ удалить или добавить админов, а так же доступ к бд Доступ к бд через отдельные методы, там нет возможности прописать голый скуль. Аля "нажми на кнопочку чтобы изменить Х в базе данных"

Ax3🇺🇦
Э, смысле? Админы имеют доступ изменять бд. Владе...

Если так, то почему что-то должно сломаться от этих действий?

Ax3🇺🇦- Автор вопроса
Arkady Strugatsky
Я так понял у него прямой доступ к базе из админки

Нет. Прослойка из функций, напрямую скуль запрос написать админы не могут

Ax3🇺🇦- Автор вопроса
Arkady Strugatsky
Если так, то почему что-то должно сломаться от эти...

Потому что админ может удалить нахуй всю базу, а бекапов нет защита от долбоеба же, писал выше

Ax3🇺🇦
Потому что админ может удалить нахуй всю базу, а б...

Каким образом админ вообще может удалить базу через админку? Нахуя в админке такая функциональность?

Ax3🇺🇦- Автор вопроса
Arkady Strugatsky
Каким образом админ вообще может удалить базу чере...

У меня бд с курсами и уроками. Админы могут редактировать данные курса, добавлять уроки и изменять их содержание.

Ax3🇺🇦
У меня бд с курсами и уроками. Админы могут реда...

Дамп по времени такое себе, новые записи будут теряться же. Можно планировщиком задать команду по расписанию. Посмотри cron если используешь линукс

Ax3🇺🇦
вянда(

На ней должен быть тоже планировщик. Также скрипт пишешь и будет запускать по заданному расписанию

Ax3🇺🇦- Автор вопроса
Ax3🇺🇦
хм. Окей

Всем большое спасибо

quantum super position
Кажется здесь какое-то противоречие

Я имел в виду, что в целом дамп данных по расписанию не будет учитывать новые данные, которые внесены после дампа и будут теряться при откате. Но это можно сделать планировщиком, если так хочется

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта