From 3a125869540897e667c15919a93342ccd46b632e Mon Sep 17 00:00:00 2001 From: Vladless Date: Tue, 22 Oct 2024 00:30:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B0=D0=B2=D1=82=D0=BE=D0=B2=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backup.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/backup.py b/backup.py index 1312bd16..196a71f7 100644 --- a/backup.py +++ b/backup.py @@ -4,17 +4,18 @@ import logging from datetime import datetime from aiogram.types import BufferedInputFile from bot import bot -from config import ADMIN_ID, DB_USER, DB_NAME +from config import ADMIN_ID, DB_USER, DB_NAME, DB_PASSWORD async def backup_database(): - # Параметры бэкапа + USER = DB_USER HOST = "localhost" BACKUP_DIR = "/home/vlad" DATE = datetime.now().strftime("%Y-%m-%d-%H%M%S") BACKUP_FILE = f"{BACKUP_DIR}/{DB_NAME}-backup-{DATE}.sql" - # Команда для резервного копирования + os.environ['PGPASSWORD'] = DB_PASSWORD + try: subprocess.run( ['pg_dump', '-U', USER, '-h', HOST, '-F', 'c', '-f', BACKUP_FILE, DB_NAME], @@ -25,7 +26,6 @@ async def backup_database(): logging.error(f"Ошибка при создании бэкапа базы данных: {e}") return - # Отправка файла бэкапа в чат админа try: with open(BACKUP_FILE, 'rb') as backup_file: backup_input_file = BufferedInputFile(backup_file.read(), filename=os.path.basename(BACKUP_FILE)) @@ -34,7 +34,6 @@ async def backup_database(): except Exception as e: logging.error(f"Ошибка при отправке бэкапа в Telegram: {e}") - # Удаление старых копий (старше 7 дней) try: subprocess.run( ['find', BACKUP_DIR, '-type', 'f', '-name', '*.sql', '-mtime', '+7', '-exec', 'rm', '{}', ';'], @@ -43,3 +42,5 @@ async def backup_database(): logging.info("Старые бэкапы удалены.") except subprocess.CalledProcessError as e: logging.error(f"Ошибка при удалении старых бэкапов: {e}") + + del os.environ['PGPASSWORD']