#!/bin/bash
set -e
# Настройки
DB_NAME="test"
BACKUP_DIR="/backup/1c"
DATE=$(date +"%Y%m%d_%H%M%S")
DT_FILE="${BACKUP_DIR}/${DB_NAME}_${DATE}.dt"
LOG_FILE="${BACKUP_DIR}/backup.log"
IBCMD="/opt/1C/v8.3/x86_64/ibcmd"
mkdir -p "$BACKUP_DIR"
echo "[$(date)] Начало выгрузки базы $DB_NAME" >> "$LOG_FILE"
$IBCMD infobase dump \
--dbms=PostgreSQL \
--db-server=localhost \
--db-user=postgres \
--db-pwd="tralala" \
--db-name="$DB_NAME" \
"$DT_FILE" >> "$LOG_FILE" 2>&1
echo "[$(date)] Выгрузка завершена успешно." >> "$LOG_FILE"
# Сжатие
gzip "$DT_FILE"
echo "[$(date)] Архив создан: ${DT_FILE}.gz" >> "$LOG_FILE"
# Удаление архивов старше 30 дней
find "$BACKUP_DIR" -name "*.dt.gz" -mtime +30 -delete