====== 1С:Предприятие 8 — Резервное копирование файловых БД ====== Для выполнения точного резервного копирования файловых БД [[1s:8:|1С:Предприятие 8]] предлагается использовать файл блокировки [[1s:8:1cv8_cdn:1cv8_cdn|1Cv8.cdn]]. Используется в решении: [[terminal_sever_xrdp:terminal_sever_xrdp|Терминальный сервера на Debian с доступом по RDP]] Для выполнения резервного копирования нужно запустить [[backup-manager:backup-manager|Backup Manager]] с параметрами заданными в файле ''[[#backupmanager1Cconf|backup-manager-1C.conf]]'' /usr/sbin/backup-manager -c /usr/local/etc/backup-manager-1C.conf Перед выполнением резервного копирования выполняется ''[[#скрипт блокировки]]'' с параметром ''1'' (блокировка), при этом поле создания файлов блокировки выдерживается пауза 60 секунд чтобы пользовательские сессии были закрыты. После завершения процесса резервного копирования выполняется ''[[#скрипт блокировки]]'' с параметром ''0'' для снятия блокировки с баз данных. {{anchor:backupmanager1Cconf}} ====== Файл настройки Backup Manager ====== Здесь приведён пример файла настройки для [[backup-manager:backup-manager|Backup Manager]] * Используется в примере [[terminal_sever_xrdp:terminal_sever_xrdp|Терминальный сервера на Debian с доступом по RDP]]. * Частота создания полного архив 7 дней * Используется список папок для копирования * "Чёрный список" для исключений 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" ====== Скрипт блокировки ====== Скрипт для создания файла [[1s:8:1cv8_cdn:1cv8_cdn|1Cv8.cdn]] в папке файловой БД. Список БД задаётся в переменной ''DB_PATH_LIST'' Значение параметра скрипта: * 1 установить блокировку БД * 0 снять блокировку с БД #!/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 {{tag> 1s Backup}}