====== 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}}