Загрузка данных


#!/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