Инструменты пользователя

Инструменты сайта


1s:8:backup:db-file

1С:Предприятие 8 — Резервное копирование файловых БД

Для выполнения точного резервного копирования файловых БД 1С:Предприятие 8 предлагается использовать файл блокировки 1Cv8.cdn.

Используется в решении: Терминальный сервера на Debian с доступом по RDP

Для выполнения резервного копирования нужно запустить Backup Manager с параметрами заданными в файле backup-manager-1C.conf

/usr/sbin/backup-manager -c /usr/local/etc/backup-manager-1C.conf

Перед выполнением резервного копирования выполняется скрипт блокировки с параметром 1 (блокировка), при этом поле создания файлов блокировки выдерживается пауза 60 секунд чтобы пользовательские сессии были закрыты.

После завершения процесса резервного копирования выполняется скрипт блокировки с параметром 0 для снятия блокировки с баз данных.

Файл настройки Backup Manager

Здесь приведён пример файла настройки для Backup Manager

Файл backup-manager-1C.conf

Файл backup-manager-1C.conf

/usr/local/etc/backup-manager-1C.conf
export BM_REPOSITORY_ROOT="/root/Backup/backup01/1C"
export BM_TEMP_DIR="/tmp"
export BM_REPOSITORY_SECURE="true"
export BM_REPOSITORY_USER="root"
export BM_REPOSITORY_GROUP="root"
export BM_REPOSITORY_CHMOD="770"
 
export BM_ARCHIVE_CHMOD="660"
export BM_ARCHIVE_TTL="7"
export BM_REPOSITORY_RECURSIVEPURGE="false"
export BM_ARCHIVE_PURGEDUPS="true"
export BM_ARCHIVE_PREFIX="$HOSTNAME"
export BM_ARCHIVE_STRICTPURGE="true"
export BM_ARCHIVE_NICE_LEVEL="10"
export BM_ARCHIVE_METHOD="tarball-incremental"
 
export BM_ENCRYPTION_METHOD="false"
export BM_ENCRYPTION_RECIPIENT=""
 
export BM_TARBALL_NAMEFORMAT="long"
export BM_TARBALL_FILETYPE="tar.gz"
export BM_TARBALL_OVER_SSH="false"
export BM_TARBALL_DUMPSYMLINKS="false"
export BM_TARBALL_DIRECTORIES="/opt/1C /srv/1c/Account /srv/1c/HRM"
# declare -a BM_TARBALL_TARGETS
# export BM_TARBALL_TARGETS
export BM_TARBALL_BLACKLIST="/mnt/Backup DoNotCopy.txt 1Cv8.cdn"
export BM_TARBALL_SLICESIZE="1000M"
export BM_TARBALL_EXTRA_OPTIONS=""
export BM_TARBALLINC_MASTERDATETYPE="weekly"
export BM_TARBALLINC_MASTERDATEVALUE="1"
 
export BM_MYSQL_DATABASES="__ALL__"
export BM_MYSQL_SAFEDUMPS="true"
export BM_MYSQL_ADMINLOGIN="root"
export BM_MYSQL_ADMINPASS=""
export BM_MYSQL_HOST="localhost"
export BM_MYSQL_PORT="3306"
export BM_MYSQL_FILETYPE="bzip2"
export BM_MYSQL_EXTRA_OPTIONS=""
 
export BM_PGSQL_DATABASES="__ALL__"
export BM_PGSQL_ADMINLOGIN="root"
export BM_PGSQL_ADMINPASS=""
export BM_PGSQL_HOST="localhost"
export BM_PGSQL_PORT="5432"
export BM_PGSQL_FILETYPE="bzip2"
export BM_PGSQL_EXTRA_OPTIONS=""
export BM_SVN_REPOSITORIES=""
export BM_SVN_COMPRESSWITH="bzip2"
 
declare -a BM_PIPE_COMMAND
declare -a BM_PIPE_NAME
declare -a BM_PIPE_FILETYPE
declare -a BM_PIPE_COMPRESS
export BM_PIPE_COMMAND
export BM_PIPE_NAME
export BM_PIPE_FILETYPE
export BM_PIPE_COMPRESS
 
export BM_UPLOAD_METHOD="none"
export BM_UPLOAD_HOSTS=""
export BM_UPLOAD_DESTINATION="/var/archives/uploads"
 
# Uncomment the 'export ...' line below to activate the uploaded archives
#export BM_UPLOADED_ARCHIVES=${BM_REPOSITORY_ROOT}/${BM_ARCHIVE_PREFIX}-uploaded.list
export BM_UPLOAD_SSH_USER="bmngr"
export BM_UPLOAD_SSH_KEY=""
export BM_UPLOAD_SSH_HOSTS=""
export BM_UPLOAD_SSH_PORT=""
export BM_UPLOAD_SSH_DESTINATION=""
export BM_UPLOAD_SSH_PURGE="true"
export BM_UPLOAD_SSH_TTL=""
export BM_UPLOAD_SSHGPG_RECIPIENT=""
 
export BM_UPLOAD_FTP_SECURE="false"
export BM_UPLOAD_FTP_PASSIVE="true"
export BM_UPLOAD_FTP_TEST="false"
export BM_UPLOAD_FTP_USER=""
export BM_UPLOAD_FTP_PASSWORD=""
export BM_UPLOAD_FTP_HOSTS=""
export BM_UPLOAD_FTP_PURGE="true"
export BM_UPLOAD_FTP_TTL=""
export BM_UPLOAD_FTP_DESTINATION=""
 
export BM_UPLOAD_S3_DESTINATION=""
export BM_UPLOAD_S3_ACCESS_KEY=""
export BM_UPLOAD_S3_SECRET_KEY=""
export BM_UPLOAD_S3_PURGE="false"
 
export BM_UPLOAD_RSYNC_DIRECTORIES=""
export BM_UPLOAD_RSYNC_DESTINATION=""
export BM_UPLOAD_RSYNC_HOSTS=""
export BM_UPLOAD_RSYNC_DUMPSYMLINKS="false"
 
export BM_BURNING_METHOD="none"
 
export BM_LOGGER="true"
export BM_LOGGER_LEVEL="warning"
export BM_LOGGER_FACILITY="user"
 
export BM_PRE_BACKUP_COMMAND="/usr/local/sbin/1Cv8-cdn.sh 1"
export BM_POST_BACKUP_COMMAND="/usr/local/sbin/1Cv8-cdn.sh 0"

Скрипт блокировки

Скрипт для создания файла 1Cv8.cdn в папке файловой БД.

Список БД задаётся в переменной DB_PATH_LIST

Значение параметра скрипта:

  • 1 установить блокировку БД
  • 0 снять блокировку с БД

Файл 1Cv8-cdn.sh

Файл 1Cv8-cdn.sh

/usr/local/sbin/1Cv8-cdn.sh
#!/bin/bash
 
DB_PATH_LIST="/srv/1c/Account /srv/1c/HRM"
 
FILE_NAME=1Cv8.cdn
STRING='{1,0001010100000,00010101000000,"*** Резервное копирование ***","ПАРОЛЬ",""}'
 
if [[ $1 = 1 ]]; then
    for DB_PATH in $DB_PATH_LIST
    do
        if [ -d $DB_PATH ]; then
            echo $STRING >$DB_PATH/$FILE_NAME
            chmod 644 $DB_PATH/$FILE_NAME
        fi
    done
    sleep 60
fi
 
if [[ $1 = 0 ]]; then
    for DB_PATH in $DB_PATH_LIST
    do
        if [ -f $DB_PATH/$FILE_NAME ]; then
            rm $DB_PATH/$FILE_NAME
        fi
    done
fi
 
exit
1s/8/backup/db-file.txt · Последние изменения: 2023-01-18 18:44 — GreyWolf