Быстро, дёшево и массово подстраховать базы клиентов от утери. Комплексная система удалённого резервного копирования

Публикация № 700320

Администрирование - Администрирование данных 1С - Архивирование (backup)

Вы можете держать копии баз своих клиентов актуальными на своем backup-сервере. Rsync передаст только изменения базы, в связи с чем, передача данных произойдет самым рациональным способом. Обновление копии файловой базы происходит почти мгновенно, даже по низкоскоростным каналам связи. Вы сможете держать копии всех MSSQL баз на своём удалённом сервере с почасовой актуальностью. Как это сделать описываю в деталях. Систему можно использовать вообще для любых файлов. Если копия не обновляется заданное время - приходит оповещение об этом. Предыдущая версия уже несколько лет работает на локальном backup-сервере, который спасал мою честь несколько раз.

Таки шо я буду с этого иметь?

В итоге у вас будет в офисе ещё один системный блок, на котором будут актуальные копии ценных вам, или вашим партнёрам данные. Блок будет подключен к интернету. С точки сетевой безопасности у этого сервера будет открыт один ssh порт. И если даже сам дьявол сольёт новые средства взлома систем от майкрософт, вероятность того, что объявится какой-нибудь цифровой пенни-вайз, работающий одинаково эффективно и с windows и с nix, и у которого получится через один единственный ssh пролезть и стереть там всё, не очень большая. Если бы не этот механизм, лично я был бы уже обесчестен, думаю, не менее трёх раз.

 

А почему rsync, а не гугл диск например? И как это вообще работает?

Гугл и яндекс диск, в отличие от кстати Mega.nz, перекидывают изменения так же как и rsync (допускаю, что механизмами именно rsync). Mega.nz перекидывает весь файл целиком, даже если был изменен один байт. (Проверено). Но в случае работы шифровальщика тот же гугл или яндекс диск запишет вам в облако зашифрованный файл, а вашу базу в облаке затрёт.  Факт в том, что когда вы передали базу на удаленный узел - её надо некоторое время хранить. 

Rsync потому что обновление к примеру файловой 1С базы размером 3Гб на которой работали в течение дня занимает менее минуты. Он просто идеален для файлового варианта. Можно гарантировать, что небольшие клиенты, не потеряют свою базу, если запустят шифровщик. Для SQL он не так идеален, но тут ничего не поделаешь. Файл bak выгружается каждый раз новый. Меняется он не весь, но эффект от этого есть. (Даже перенос регламентых операций MSSQL на один раз в неделю помогает не сильно) 

 Rsync - если коротко, то это средство обновления уже существующего файла на сервере, фрагментами, которые были изменены на клиенте. Грубо говоря файл делится на фрагменты, на обоих сторонах, высчитывается контрольная сумма фрагментов, где суммы не соотвествуют те данные и пересылаются.

В нашем случае, клиент подключается через ssh (используя ключ) на сервер, средствами rsync обновляет данные в /home/xxxx. Регламентно ночью производится архивирование нужных данных из /home в место, недоступное клиенту, и хранится там несколько дней. В случае если копия не обновлялась 3 дня, на почту админу приходит алярм (бывает ложно, в случае если с базой не работают каждый день). 
То есть теоретически, если клиент запустил вирус-шифровщик, и rsync даже успел перекинуть уже шифрованные данные, вы сможете вытащить из архива базу, потеряв максимум день. Можно подстраховать широкий диапазон клиентов и вам это будет стоить - почти ничего. 

 

Введение

Среди моих знакомых есть, на мой взгляд, толковые специалисты, избегающие unix-подобные ОС.  Использование nix в данном случая действительно оправдано. Если вы по какой-либо причине не прикасались никогда к этим системам, то эта статья может стать для вас "Hello world" в этом направлении. Установка простая, ничего замудрённого и лишнего. Я постараюсь показывать всё пошагово, доступно и максимально развернуто.


Я использую  debian, так как не буду кривить душой, использую его давно и ориентируюсь в нем, лучше, чем в других системах. Вы можете использовать что угодно (даже windows). 

Если вы знаете что такое rsync, и недоумеваете зачем его настраивать для доступа через ssh, то вас из этой статьи возможно заинтересует способ организации "песочницы" для пользователей rsync и batch  скрипт для MSSQL.  


Да, можно было бы и настроить программный raid и zfs - статья не про это, да и задача стояла в последний раз собрать всё максимально быстро и просто. Наплевав на осколки своих педантских устремлений, сделал всё проще некуда с точки зрения организации файловой системы (в ущерб надёжности). Вне всяких сомнений, кому-то для таких целей понадобятся зашифрованные массивы с копиями. В случае с linux для этого тут целый аэропорт возможностей.

Я приложу к статье архив, куда помещу все, используемые здесь файлы. Всё, что будет в этом архиве - есть в статье. 

 

Что делаем?

  • Берём любой компьютер (только где есть хотя бы SATA контроллер), с рабочими дисками (я взял 2 новых 2-х терабайтника);
  • ставим на него минимальный linux debian;
  • настраиваем rsync сервер
  • ставим клиентскую часть для файловой БД  (подходит для любых данных);
  • ставим клиентскую часть для MSSQL баз;
  • храним копии.

 

Установка Linux Debian

Раздел для тех, кто никогда не ставил Linux. Те кто это делал, думаю сами могут предложить вагон своих вариантов.

Загрузить дебиан можно тут: https://www.debian.org/distrib/ 
Выбираем минимальный дистрибутив (netinstall)

Наглядный процесс установки: 


Разбил жесткий диск вручную, несмотря на то, что система и сама может предложить такой вариант, но отдает под корневой раздел в моём случае много. 10 Гб - более чем достаточно. Расти будет раздел /var (логи) - и очень незначительно.
Своп нужен или нет лучше прочитайте. Я сделал 1Г для примера. Сам до конца в этом вопросе не разобрался до сих пор. Не думаю, что на таком сервере вообще уместен.


Раздел /keeper на втором диске создан для того, чтобы хранить архив резервных копий на нём. В разделе /home, будут актуальные копии (которые будут обновляться rsync)


По разным дискам есть смысл разносить обновляемые копии и архив, для того, случая, когда выйдет из строя один из жестких дисков. На этот случай кстати (да и вообще всегда) имеет смысл поставить smartd (мониторит smart, отсылает алярм, если какие-то из параметров вышли за рамки). 

В общем нам нужен существенно большие разделы /home и /keeper. В самом простом случае их можно расположить на одном разделе, ну или в случае если этот раздел находится на raid.

Теперь надо привести систему в боевое состояние. Обновить, доустановить необходимые пакеты. Итак вы сидите перед чёрным экраном - система требует login. Введите root, далее введите пароль, который вы ввели при установке (пароль суперпользователя).
Итак вы в системе - под рутом. (Говорят под рутом работать неприлично, но мы поработаем). 

Я надеюсь на этапе установки вы озаботились вводом правильных сетевых параметров. И интернет у вас работает. (Проверка ping ya.ru).
Остановить выполнение ping Ctrl+Z. Если интернет не работает - гуглите, зацикливаться мы на этом не будем.


Далее выполняем команды: 
apt-get install aptitude mc // привык к aptitude и mc (мой выбор не идеален, я знаю)
aptitude update // Обновим базу пакетов
aptitude safe-upgrade // Обновляем все пакеты до последних 

Теперь у нас свежая система. Есть mc (местный norton commander). 
Команда mc собственно запустит mc. Редактировать файл в нём F4, копировать - F5, создать папку F7 - выйти F10.
Отредактировать конкретный файл можно командой mcedit файл, например mcedit /etc/rc.local

И да, вы же конечно поставили sshd как я на видео. Значит после установки вы можете подключаться по ssh на ваш сервер. Качаете putty и подключаетесь. Копировать команды со статьи в putty будет проще, чем писать их руками. Приучайтесь сразу авторизоваться не под root, а под тем пользователем, которого вы вводили при установке после введения пароля суперпользователя. Возможность входа под рутом через ssh выключим в следующем разделе. После того, как вы авторизовались под своим пользователем, чтобы стать рутом надо ввести su и пароль рута.

 

Настройка rsync сервера

 

Вводная

Как таковой rsync сервер (rsyncd) мы настраивать не будем вообще. От нас потребуется настроить ssh сервер нужным образом, настроить фаерволл, правильно раздать права, настроить скрипты архивирования да и всё. 

aptitude install rsync // Установим rsync

В принципе можно даже ничего не настраивать, достаточно того, что уже стоит. Но! Пользователю, который подключится по-умолчанию доступна на чтение вся система! Вот так. Можно имея права пользователя тем же rsync скопировать себе весь корень. Было опробовано немало вариантов, остановился я на следующем:
SSH сервер умеет перемещать корневой раздел для определенной группы пользователей в другую папку. (chroot). В той папке будет наша родная home, и всё необходимое для того, чтобы запустить rsync (bash и библиотеки). Таким образом пользователь окажется изолирован в своём мирке и сможет максимум прочитать данные соседей по /home, что мы купируем правами на папку. Да кстати, профили таких пользователей будут находиться в /home/backupusers/. Это полезно, когда сервер используется ещё для чего-то.

groupadd backupusers // добавляем группу

 

Настройка SSH

mcedit /etc/ssh/sshd_config  // Редактируем файл вручную (Поиск если что F7)
Меняем если надо порт:
Port 22 // Если подключены по ssh - подключаться далее надо будет уже на него
PermitRootLogin no // запретит авторизоваться руту через ssh (желательно, но не обязательно)

В самый конец файла вставляем:

Match group backupusers
    ChrootDirectory /home/backupusers/chroot
    AllowTCPForwarding no
    X11Forwarding no

Выходим F10 и не забываем сохранить

/etc/init.d/ssh restart // перезапускаем службу

 

Подготовка "песочницы"

Теперь для всех членов backupusers происходит смена корневого каталога в эту папку. Теперь её нужно создать, установить на неё правильные права и заполнить её.

mkdir -p /home/backupusers/chroot // Создадим папку /home/backupusers/chroot - это теперь новый корень для наших пользователей с обрезанными возможностями. В этой папке должны быть рабочие домашние директории пользователей, и обстановка необходимая для запуска bash и rsync. 
Можно собирать обстановку вручную как мы сейчас и поступим. Я обычно копирую с предыдущей установленной машины. В к статье приложу архив, где будут собраны все необходимые скрипты, а так же уже готовая папка chroot.
 
mkdir /home/backupusers/chroot/bin // В корне будет директория bin 
aptitude install bash-static // ставим bash, для которого не нужны библиотеки
cp /bin/bash-static /home/backupusers/chroot/bin/bash // теперь наш chroot уже с командным инетрпритатором 
cp /usr/bin/rsync /home/backupusers/chroot/bin/ // И с rsync
rsync в отличие от bash-static требует библиотек. Организуем и их. Их состав можно вычислить командой:
ldd /usr/bin/rsync
Переносим их:
mkdir -p /home/backupusers/chroot/lib/x86_64-linux-gnu
cp /lib/x86_64-linux-gnu/libattr.so.1 /home/backupusers/chroot/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libacl.so.1 /home/backupusers/chroot/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpopt.so.0 /home/backupusers/chroot/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 /home/backupusers/chroot/lib/x86_64-linux-gnu/
mkdir -p /home/backupusers/chroot/lib64
cp /lib64/ld-linux-x86-64.so.2 /home/backupusers/chroot/lib64/

Теперь займемся папкой /home/backupusers, которая тоже должна оказаться в chroot. Символическая ссылка тут не подходит. Подходит mount -o bind 

mkdir -p /home/backupusers/chroot/home/backupusers // Чтобы пробрасывать home/backupusers, нужно, чтобы в chroot папка существовала
mount -o bind /home/backupusers /home/backupusers/chroot/home/backupusers выполняем проброс

 

Процедуры при автозапуске

Процедуры автозапуска всегда делал в /etc/rc.local в Debian 9 оказывается по-умолчанию этот файл нужно ещё и включить.

touch /etc/rc.local //Нужно создать его
chmod +x /etc/rc.local // И сделать исполняемым

И заполнить:
 

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

mount -o bind /home/backupusers /home/backupusers/chroot/home/backupuser

exit 0

systemctl start rc-local // И запустить

 

Создание пользователя

Делаем скрипт для создания пользователя:
touch /usr/bin/add_backupuser // Создаем файл
chmod +x /usr/bin/add_backupuser // Делаем исполняемым

Заполняем файл /usr/bin/add_backupuser:

#!/bin/bash
useradd -d /home/backupusers/$1 -g backupusers -s /bin/bash $1
mkdir -p /home/backupusers/$1/.ssh
touch /home/backupusers/$1/.ssh/authorized_keys
chown $1:backupusers /home/backupusers/$1 -R
chmod 700 /home/backupusers/$1 -R

Теперь, чтобы создать пользователя ooobuh нам нужно выполнить команду:
add_backupuser ooobuh

 

Проверка

Всё. Пользователь создан, окружение настроено. Проверяем. Устанавливаем пользователю пароль:
passwd ooobuh
И пробуем подключиться на ssh под пользователем ooobuh. Должна появиться командная строка, должна выполняться команда rsync и больше ничего работать не должно. Если так - то всё отлично. Самое сложное позади. Если нет - то скачайте файлик в конце статьи, скопируйте оттуда chroot, и забейте на эту ручную настройку. Если не работает, то вы либо не перезапустили sshd, либо накосячили с правами. Если ssh отпинывает вас после ввода правильного пароля - смотрите /var/log/auth, возможно там указано, на какой файл неправильно установлены права.

Паролями мы пользоваться в дальнейшем не будем. Авторизация будет работать через ssh ключи.

 

Для забывчивых

Я постоянно забываю очередность действий, когда надо через продолжительное время вспомнить как добавить нового пользователя и что делать дальше. Поэтому делаю для себя команду-напоминалку:

touch /usr/bin/helpme
chmod +x /usr/bin/helpme

#!/bin/bash

echo "--------------------------------------------------------------------
To add new backupuser: 
1. Type add_backupuser username
2. Add the rsa key to /home/backupusers/username/.ssh/authorized_keys
3. The windows BackupSet there are in C:Backupset
--------------------------------------------------------------------"

Попадая на сервер в суматохе, не помня ничего - я пишу helpme. И командная строка напоминает что мне нужно делать в деталях. 

 

Итог

Установка rsync сервера на этом завершена. Теперь вы можете быстро создать нового пользователя, он отделён от системы, обездвижен командами, он не может прочитать соседей, так как при создании пользователя обрезаются права chmod 700 (читать писать может только владелец). 

 

Настраиваем клиентскую часть

 

Дистрибутив rsync и авторизация

Сборки rsync под windows мне попадались разные, я качал их из разных мест, официального какого-то источника как я понял - нет. Корректно работает у меня только одна. Я приложу её в файл статьи вместе со скриптами. Вы можете и сами поискать нужную реализацию rsync. Некорректность работы в том, что процесс передачи может обрываться. 

Авторизация производится средствами SSH. Механизм такой - клиент у себя генерирует пару секретный/публичный ключ. Публичный ключ помещается на сервер в $HOME/.ssh/authorized_keys и этого достаточно для того, чтобы клиент авторизовался на сервере без ввода каких-либо данных. В дистрибутиве rsync обычно идет ssh и сопутсвующие утилиты. 

Программа ssh-keygen.exe сгенерит пару ключей на клиенте. Интерактивно задаст вам несколько вопросов - на них нужно ответить нажатием Enter (3 раза).

Чтобы знать где она сгенерит ключи - задайте лучше чётко, например:
set HOME=/cygdrive/C/Backup/home 

Такой странный путь - то, с чем мы будем постоянно встречаться. Дело в том, что rsync под windows не писалась её работа эмулируется через cygwin, где unix окружение с unix путями. /cygdrive/C/Backup/home = C:\Backup\home

Папку с rsync я кладу в C:\Backup
                      То есть в C:\Backup\bin - бинарники
                                    в C:\Backup\home - ключи

В bin располагаются скрипты. Первый из них:

generatekey.bat

set HOME=/cygdrive/C/Backup/home
ssh-keygen.exe

При запуске generatekey.bat, для того, чтобы сделать всё правильно достаточно 3 раза нажать enter, в качестве ответов на вопросы.
Скрипт сформирует приватный и публичный ключ в папке C:\Backup\home\.ssh
Содержимое файла id_rsa.pub (публичный ключ) необходимо скопировать целиком и вставить в /home/backupusers/ooobuh/.ssh/authorized_keys на сервере

После этого остальные скрипты смогут авторизоваться. При первой передаче данных ssh предупредит вас, что видит ваш сервер впервые. Вам придется написать yes и нажать enter. После этого файл C:\Backup\home\.ssh\known_hosts пополнится публичным ключом вашего rsync сервера и перестанет задавать вам этот вопрос. Имеет смысл распространять C:\Backup уже с этим файлом, чтобы не тратить на это время.

 

KeepFiles.bat

set HOME=/cygdrive/C/Backup/home set
Name=Backupuser

if %date:~0,2% == 01 (
set delstring= --del 
) else (
set delstring=
)

rsync -zavP --rsh='ssh -p 22' %delstring% --inplace --stats --modify-window=1 --chmod=u+rw,og-rwx,Du+rw,Dog-rwx "/cygdrive/C/Targetfile" %Name%@backupserver.franch.ru:~/

Вместо файловой бд, этим скриптом можно обрабатывать всё, что угодно. Я использую точно такой же скрипт для резервного копирования ВСЕХ данных пользователей в офисе. Копируется профиль пользователя windows, почта the bat, шары с документами. У одного пользователя объем сохраняемых данных может достигать до 100 Гб. Стоит отметить, что rsync не будет считать и сверять контрольную сумму всей кучи синхронизируемых файлов. По-умолчанию производится сверка дат модификации файла, и допускается погрешность в установленное количество секунд (--modify-window=1). Благодаря этому куча мелких неизмененных файлов игнорируется. В случае если вам всё-таки нужно всегда сверять контрольные суммы (образы TrueCrypt), то используйте ключ -c

Файл KeepFiles.bat настраивается индивидуально под каждого пользователя.
Обратить внимание нужно на:

  • переменную Name (Это unix пользователь. В нашем примере ooobuh);
  • ssh порт - тут он 22 (скорее всего вы будете использовать альтернативный);
  • путь на локальной машине /cygdrive/C/Targetfile - это C:\Targetfile. Это может быть как папка, так и файл.
  • путь, куда  C:\Targetfile попадет на unix. В данном случае ~/.  Это значит, что C:\Targetfile попадет в корень домашней папки (/home/backupusers/ooobuh/)

Обратите внимание на то, как путь пишется в rsync. /cygdrive/C <- это диск C:. Далее как обычно, только слэш - юниксовский. В случае если путь записан с русскими буквами - будут проблемы. Я выходил из ситуации монтируя папку (имя которой нужно было транслировать, так как batch тоже не очень любит русские буквы) на отдельный диск (команда subst что-ли, не помню). И оттуда уже прописывал cygdrive путь. Но в целом намного проще заставить пользователя перенести своё барахлишко в англоязычную папку.

Если вам вдруг нужно переносить несколько папок/файлов дублируйте последнюю строку столько, сколько вам нужно. Rsync очень гибкая софтина на предмет всяких выражений, условий, масок, исключений. Погуглите rsync examples. Тяжело представить, что возможностей rsync будет для чего-то недостаточно.

Условие с первым числом месяца для обычных файлов пользователя. Для баз оно не мешает, поэтому оставил. Суть в том, что если пользователь удалил файл, на сервере он не затрётся, если rsync запущен без ключа --del. Это полезно, когда человек удалил файл позавчера, или зашифровали его файлы, но переименовав при этом (как это чаще всего бывает) и файлы не затёрлись тем же rsync. Но постоянно накапливать эти файлы - лишняя нагрузка. Поэтому каждое первое число месяца rsync запускается с ключом -del. 

 

KeepMSSQL.bat

В результате внедрения этой части, на backup сервере будут актуальные  полные(ночные) копии всех баз MSSQL(кроме тех, которые оканчиваются на "_copy" и системных) и разностные копии всех этих баз сразу же после их формирования. То есть если в 14:30 обычного рабочего дня сервер у клиента перестанет существовать, то у вас на backup сервере будет база на 14:00, если периодичность запуска будет 1 час. (Вообще разностные копии можно делать хоть каждые 5 минут).

Есть ещё один момент. Вот ночью сделана полная копия базы. А в 8 утра её обновили. Разностные копии солидно увеличиваются в размере (так как каждая из них - есть отличие от последней полной копии на момент формирования). И могут занять всё оставшееся место на диске. Затем ночью не будет сделана полная копия, так как места уже нет, и если у вас не настроено оповещение о ошибке при выполнении плана обслуживания MSSQL, то вы можете узнать о том, что копии у клиента не делаются, только в тот момент, когда эти самые копии понадобятся. Этот момент планами обслуживания не разрулить. Как им не разрулить и то, что для наших целей (транслирования) бэкапов на сервер нужно, чтобы каждая полная копия транслировалась в 2 места одновременно. 

Первое из них - это папка с архивами на самом MSSQL сервере. Бэкап сервер это конечно хорошо, но на самом сервере копии не лишние, да и это просто удобно. Надо тебе на любой момент времени базу - зашёл в Studio и мышечкой восстановил себе копию базы на любой момент времени. А для того, чтобы передавать изменения bak файла необходимо, чтобы файл находится в одном и том же месте, и назывался одинаково. То есть позавчерашняя полная ночная резервная копия должна быть замещена сегодняшней под тем же самым именем, в той же папке. Просто делать полную 2 раза нельзя, так как одна из них перестанет быть для разностных родительской. Очень долго не хотелось переводить резервирование на скрипт, но эти два фактора вынудили. 

У вас скорее всего есть папка для полных копий MSSQL, и для разностных. Мы от них не отказываемся. Появится третья, где будут только полные последние копии баз под именами база1.bak. Как только это произойдет, мы просто синхронизируем третью папку и папку с разностными копиями - и всё. То есть процесс резервного копирования придется доверить скрипту и снять планы обслуживания резервного копирования. Но Studio будет знать о том, где лежат копии, и задачи->восстановить вам так же предложит по-умолчанию восстановить самую последнюю разностную копию и восстановит её без проблем.

Этот скрипт на инфостаре, только потому, что он работает. Совершено очевидно, что он очень сырой. Но скорее всего дальше я доделывать его не буду. Если вам понравилась моя идея и вы batch программист предложите свою версию.

Коротко об его использовании - запускаете без ключа - делается полная копия, с ключом h - разностная. Если размер разностной превышает MaxSmallFileSize (50Мб), то делается полная и синхронизируется с севером. После этого копии синхронизирутся с данными на сервере, и у затираются локальные старые - по количеству, что не всегда правильно, но сделать по дате оказалось мне не по зубам. Запуск скипта производится из планировщика задач windows.

@echo off
SETLOCAL EnableDelayedExpansion enableextensions

set HOME=/cygdrive/C/Backup/home
set Name=germany

set MSSQLArchive=E:\SQLBackups\
set RSyncTarget=E:\ToHome\Big\
set Small=E:\ToHome\Small\
set /a MaxSmallFileSize = 50000000

set datetimef=%date:~-4%.%date:~3,2%.%date:~0,2% (%time:~0,2%-%time:~3,2%-%time:~6,2%)

SQLCMD -h-1 -S (local) -i select.sql -o bases.txt
SET /A COUNT=0

for /f "tokens=*" %%i in (bases.txt) do (
set input=%%i

for /f "tokens=* delims= " %%a in ("!input!") do set input=%%a
for /l %%a in (1,1,200) do if "!input:~-1!"==" " set input=!input:~0,-1!

if not !input:~-5!==_copy (
SET /A COUNT+=1

if "%~1"=="h" (

SQLCMD -S ^(local^) -E -Q "BACKUP DATABASE !input! TO DISK = '%Small%!input!_%datetimef%.bak' WITH INIT, FORMAT, NAME = 'Differential backup !input! %datetimef%', STATS = 10, CHECKSUM, COMPRESSION,DIFFERENTIAL"

for %%o in ("%Small%!input!_%datetimef%.bak") do (set /a fsize=%%~Zo)

if !fsize! GTR %MaxSmallFileSize% (
SQLCMD -S ^(local^) -E -Q "BACKUP DATABASE !input! TO DISK = '%MSSQLArchive%!input!_%date%.bak' WITH INIT, FORMAT, NAME = 'Full backup !input! %date%', STATS = 10, CHECKSUM, COMPRESSION"
copy %MSSQLArchive%!input!_%date%.bak %RSyncTarget%!input!.bak

rsync -zavP --rsh='ssh -p 22' --bwlimit=4096 --inplace --stats --modify-window=1 --chmod=u+rw,og-rwx,Du+rw,Dog-rwx "/cygdrive/E/ToHome/Big" %Name%@terminal.backup.org:~/Bases/

SQLCMD -S ^(local^) -E -Q "BACKUP DATABASE !input! TO DISK = '%Small%!input!_%datetimef%.bak' WITH INIT, FORMAT, NAME = 'Differential backup !input! %datetimef%', STATS = 10, CHECKSUM, COMPRESSION,DIFFERENTIAL"
)

) else (

SQLCMD -S ^(local^) -E -Q "BACKUP DATABASE !input! TO DISK = '%MSSQLArchive%!input!_%date%.bak' WITH INIT, FORMAT, NAME = 'Full backup !input! %date%', STATS = 10, CHECKSUM, COMPRESSION"
copy %MSSQLArchive%!input!_%date%.bak %RSyncTarget%!input!.bak

)
)
)


if "%~1"=="h" (
rsync -zavP --del --rsh='ssh -p 22' --bwlimit=4096 --inplace --stats --modify-window=1 --chmod=u+rw,og-rwx,Du+rw,Dog-rwx "/cygdrive/E/ToHome/Small" %Name%@terminal.backup.org:~/Bases/
set /A iCount=%COUNT%*24;
set sFolder=%Small%
) else (
set /A iCount=%COUNT%*4;
set sFolder=%MSSQLArchive%
)
rsync -zavP --rsh='ssh -p 22' --inplace --stats --modify-window=1 --chmod=u+rw,og-rwx,Du+rw,Dog-rwx "/cygdrive/E/ToHome/Big" %Name%@terminal.backup.org:~/Bases/

for /f "skip=%iCount% usebackq delims=" %%i in (
	`dir /b /a:-d /o:-d /t:w "%sFolder%"`
) do del /f /q "%sFolder%\%%~i"

 

Скрипт вытягивает названия баз при помощи файла select.sql (должен находиться в bin)

SET NOCOUNT ON;
SELECT  d.name AS DBName
FROM    sys.databases d
        JOIN sys.master_files m ON d.database_id = m.database_id
WHERE   d.name <> "model" and d.name <> "msdb" and d.name <> "tempdb" and d.name <> "master" and m.[type] = 0 -- data files only
ORDER BY d.name; 

 

Архивируем копии

Создаем папку с настройками:
mkdir -p /opt/2keeper/
touch /opt/2keeper/keeper.sh

chmod +x /opt/2keeper/keeper.sh

touch /opt/2keeper/config

/opt/2keeper/keeper.sh

#!/bin/sh

cat /opt/2keeper/config | while read FILENAME; do
    name=`echo $FILENAME | awk '{ print($2)}'`
    object=`echo $FILENAME | awk '{ print($3)}'`
    archargs=`echo $FILENAME | awk '{ print($1)}'`
    /usr/bin/archfolder /keeper/$name $1 $object -mx$archargs > /dev/null 2>&1
done


/opt/2keeper/config

0 BUH /home/backupusers/BUH1CBases/buh.bak
0 ZUP /home/backupusers/BUH1CBases/zup.bak
5 RTL_ZUP8 /home/backupusers/BUH1CBases/BUH_ZUP8/1Cv8.1CD
5 FileArchive /home/backupusers/BUH1CBases/FA

Здесь первый параметр - степень сжатия файла. Нет смысла сжимать сжатый bak. А вот 1CD имеет смысл.
Второй имя, под которым эта копия будет храниться в архиве. Третий файл, или папка, которые подлежат экзекуции.

 

/etc/crontab

Добавляем в планировщик linux:

0 0 * * * root /opt/2keeper/keeper.sh daily
0 2 1 * * root /opt/2keeper/keeper.sh monthly

Первая строка будет паковать каждый день в полночь дневной архив. Вторая в 2 часа ночи, первого числа каждого месяца будет заниматься месячным архивом.

/usr/bin/archfolder

Скрипт обработки сжатия и контроля по времени хранения архивов.
touch /usr/bin/archfolder
chmod +x /usr/bin/archfolder // без этого не поедет

#!/bin/bash

if [ "$3" = "" ]; then
echo $USAGE
exit 1
fi

if ! [ -e $1/$2 ]; then
mkdir -p $1/$2
fi


case $2 in
hourly)
find $arcdir/$2/ -type f -ctime +1 -delete
;;
daily)
find $arcdir/$2/ -type f -ctime +31 -delete
;;
mounthly)
find $arcdir/$2/ -type f -ctime +180 -delete
;;
*)
echo $USAGE
exit 1
;;
esac

if [ ! -e $3 ] || [ -z "`find $3 -type f -mtime -3 -ls`" ]; then
    swaks --header "Subject: Jesus backup system warning" --to admin@backup.org --from "jesus@backup.org" --server mail.backup.org -tls --body "Path $3 is not exist or has not update last 3 days.
    Please check it!"
else
7z a -t7z -m0=LZMA2 -mmt14 $arcdir/$2/`date +%y%m%d%H%M`.7z $3 $4
fi


aptitude install swaks p7zip-full // 7z и программа для того, чтобы отправлять почту. Она умеет авторизовываться.
В общем, если в архивируемом объекте не будет обнаружен файл, который менялся предыдущие 3 дня, то админу будет отправлен алярм.

Закройте порты

Я обычно добавляю в файл /etc/rc.local файл инициализации фаерволла:
touch /etc/firewall
chmod +x /etc/firewall

А это его содержимое. Обратите внимание, что файл требует внесения своих данных(идентификатор сетевого интерфейса). Это мой рабочий пример. Настраивайте это в самом конце, когда уже всё заработает.

#!/bin/sh
#--------------- Conf -------------
IIF="eth0" # Inside iface
INET="192.168.222.0/24"
I_TCP_PORTS="22" # Inside
#I_UDP_PORTS="53" # Inside

iptables -F # Очищаем все цепочки таблицы filter
iptables -F -t nat # Очищаем все цепочки таблицы nat
iptables -F -t mangle

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Как обычно, пропускаем все, что идет по установленным с

iptables -A INPUT -i $IIF -p tcp -m multiport --dports $I_TCP_PORTS -j ACCEPT # Разрешаем пользователям сети эти порты TCP

iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT

iptables -P INPUT DROP # Остальных блокируем

iptables -P FORWARD DROP # Остальных блокируем
iptables -P OUTPUT ACCEPT # Исходящий трафик разрешаем

 

Готово

Добавляйте пользователей, ставьте клиентскую часть, настраивайте. Каждый раз, когда вы будете устанавливать нового клиента к вашему серверу, где-то вдалеке тихо заплачет ещё один шифровальщик-вымогатель. 

К статье приложен файлец со всеми файлами. 

Спасибо, что дочитали.

Скачать файлы

Наименование Файл Версия Размер
Клиентская и серверная часть системы удалённого резервного копирования
.rar 6,02Mb
14.11.17
7
.rar 0.2 6,02Mb 7 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. ViperGSV 15.11.17 13:13 Сейчас в теме
На мой взгляд получилось достаточно сложно...
Я использовал примерно такую систему, но перешел на использование Bareos (open source edition)
Из плюсов:
1. Все настраивается на сервере, что копировать, сколько хранить, как сжимать, куда восстанавливать (у клиента только коннектор к серверу)
2. Поддержка VSS
3. Есть скрипты для всех современных БД
4. Есть веб-интерфейс, уведомление на e-mail при архивации (сбоях архивации)

Из минусов: сложность в начальной настройке сервера (только первый раз, пока не поймете философию Bareos :-))
2. ЕСТЬNULL 167 16.11.17 02:58 Сейчас в теме
Ну как сложно. Rsync & ssh. За счет простоты и моменты по обеспечению безопасности проверяются быстро. Bareos всё-таки комплекс, в котором большее количество узлов.

Про Bareos не слышал. Обязательно попробую его, как только будет где и когда. Сейчас всё больше становится открытых комплексных решений по узким вопросам, работающих полностью через web-интерфейс. Настраивать что-то руками нужно всё реже и реже, что не может не радовать.

Спасибо за наводку.
3. sashocq 191 16.11.17 16:18 Сейчас в теме
По названию статьи уже надеялся увидеть как в винде настроить rsync. Но, видимо, придётся потихоньку изучать этот Linux.

За статью однозначно спасибо!
4. ЕСТЬNULL 167 17.11.17 03:04 Сейчас в теме
Пожалуйста!

Смысл в том, чтобы после синхронизации файлов на удалённый сервер и аккумулировать их в недоступном для клиента месте. Средством доставки может быть и гугл диск, но чтобы заставить работать его в качестве сервиса надо помучиться. Есть, как выяснилось вчера Resilio. Насколько я понял для этих цели resilio подходит лучше, чем гугл диск, но ещё его не пробовал. Так что если нет возможности поставить linux - попробуйте windows + resilio

Linux был выбран во-первых потому что была возможность поставить отдельный сервер. Во вторых большой опыт эксплуатации. Bash я знаю лучше, чем batch. Ну и работает стабильно. Когда я нажимаю кнопку выключить - сервер выключается за 4 секунды. Включается он чуть медленнее(не SSD). Всё по тому, что там нет ничего, кроме необходимого. Как гвоздодёр, ну что в нём может сломаться? И никаких лицензий.

На изучение комплексных систем типа Bareos, нужно время. Его пока нет. Вот если бы кто разжевал хотя бы "Hello world" по ней, чтобы не так страшно было браться, было бы клёво.
5. dsuryaninov 12 20.11.17 15:45 Сейчас в теме
Но в случае работы шифровальщика тот же гугл или яндекс диск запишет вам в облако зашифрованный файл, а вашу базу в облаке затрёт.

Возлагаю надежды на версионирование Dropbox в этом случае :)
6. ЕСТЬNULL 167 21.11.17 04:20 Сейчас в теме
Неплохой вариант, если Dropbox Basic предоставляет версионирование (не нашёл информации). Если нет, то придется платить 10$/месяц за Dropbox Plus (30 дней истории и 2ТБ) за каждого клиента, если не хотите, чтобы архивы базы клиента А были доступны клиенту Б. Будет же именно так, если вы запихнёте всех в один аккаунт. Хотя может я и ошибаюсь где-то.
7. dsuryaninov 12 22.11.17 12:31 Сейчас в теме
(6) Basic позволяет использовать версионирование, причем, количество версий неограничено (так было, когда я пользовался им — сохранял базу в архив с одним и тем же именем файла, например "bp30.zip"). Понятно, что в 2 ГБ, которые предоставляет Dropbox, много баз не влезет, но для кого-то это может быть актуальным.

Чтобы архивы базы клиента А были недоступны клиенту Б придется для каждого создавать аккаунт в Dropbox (что не есть удобно) и выдавать разрешение на работу в папке с его базами из вашего аккаунта.
8. ЕСТЬNULL 167 23.11.17 03:25 Сейчас в теме
(7) Я смотрел, Dropbox Plus держит копию 30 дней, скорее всего Basic держит не больше. Чего в принципе достаточно. Надо будет попробовать. Спасибо за идею.
Оставьте свое сообщение

См. также

Обработка для управления подключениями пользователей и создание бэкапа КЛИЕНТ-СЕРВЕРНОЙ базы данных 1С 8.2-8.3 (управляемое приложение,"такси") Промо

Архивирование (backup) Администрирование данных 1С v8 v8::УФ 1cv8.cf Абонемент ($m)

Данная обработка позволяет легко и быстро отключить от любой БД одного или несколько пользователей одновременно, установить блокировку сеансов, что необходимо при регламентных операциях с БД, создать резервную копию базы, удалить "дубли" сеансов. Обработка отключает соединения и сеансы указанных пользователей, даже если сеанс или соединение были "повисшими". Возможна интеграция в любую конфигурацию! (Обновление от 11.03.2016, версия 3.0)

2 стартмани

06.11.2012    54713    174    hakerxp    44    

Создание копии рабочей базы

Свертка базы Архивирование (backup) v8 Абонемент ($m)

Как регулярно создавать копии рабочей базы для разработки? Как уменьшить объём тестовой базы? Как получать всегда актуальную тестовую базу?

1 стартмани

28.05.2020    742    2    imm0rtal    0    

Настройка архивации баз MS SQL Server и мониторинг с помощью OneScript

Архивирование (backup) Системное администрирование OneScript Абонемент ($m)

Схемы архивации баз и мониторинга. Скрипт для архивации журналов транзакций с записью лога в текстовый файл. Скрипты для мониторинга состояния архивации с отправкой статуса на почту.

2 стартмани

01.05.2020    875    4    info1i    2    

Готовое решение для резервного копирования баз данных Postgresql

Архивирование (backup) Россия Абонемент ($m)

BAT файл для создания резервных копий баз данных средствами Postgresql.

1 стартмани

13.03.2020    2309    0    SerGray    2    

Конфигурация для автоматизации бэкапов Промо

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Конфигурация для организации резервного копирования и хранения бэкапов информационных баз во внутреннем формате 1С *.dt

1 стартмани

23.01.2015    28907    100    dusha0020    43    

Резервные копии SQL с помощью планировщика виндовс и скрипта

Архивирование (backup) v8 Абонемент ($m)

Всем привет! Сильно не судите, в основном я создаю эту статью для себя, чтобы не забыть об этом, сразу скажу, что я не программист, но по долгу работы приходится решать вопросы. В данной статье я покажу код батника, с помощью которого я делаю резервное копирование баз данных 1С посредством SQL.

1 стартмани

12.03.2020    1566    0    VID1234    7    

Резервное копирование и обслуживание баз данных 1С 8.3 на PostgreSQL

Архивирование (backup) Администрирование СУБД Абонемент ($m)

Резервные копии обязательны для 1С, особенно важно при большем документообороте. В статье я расскажу, как у нас организовано резервное копирование, обслуживание и восстановление из копии базы 1С 8.3, работающей на PostgreSQL

1 стартмани

31.01.2020    2838    14    kolianus    1    

Резервное копирование и восстановление БД 1С 8.3 на PostgreSQL 11.5

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Резервное копирование баз данных 1С является обязательным, чтобы в случае непредвиденной проблемы всегда была возможность все восстановить. В статье мы рассмотрим, как произвести резервное копирование и восстановление из копии базы 1 8.3, работающей на PostgreSQL 11.5.

1 стартмани

30.01.2020    7933    6    ClickUp    42    

Безопасное копирование файловых баз данных 1С (1Cv8.1CD) Промо

Архивирование (backup) Сервисные утилиты v8 1cv8.cf Абонемент ($m)

Безопасное копирование файловых баз данных 1С (1Cv8.1CD) При подключенных пользователях!

1 стартмани

22.12.2014    46489    71    BorovikSV    27    

Скрипт (bash) автоматической ежедневной выгрузки баз Postgres на ftp-сервер + Скрипт восстановления

Архивирование (backup) Абонемент ($m)

Скрипт автоматически выгружает базы Postgres и выкладывает на ftp-сервер. Сохраняет базы по дням недели, что позволяет экономить место на диске. Добавлен скрипт для восстановления базы из архива.

1 стартмани

15.01.2020    2977    5    Mallok    9    

Резервное копирование БД 1С средствами батника и выгрузка файловой базы в dt

Архивирование (backup) ИТ-компания Россия Абонемент ($m)

Резервное копирование БД с помощью батника. Код батника совсем небольшой.

1 стартмани

13.01.2020    3530    0    dron-s    16    

Создание выгрузок файлов .dt с помощью PowerShell и RAS\RAC для клиент-серверных баз

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

У платформы 1С 8.3 есть кроссплатформенная утилита RAS\RAC(Remote Administration Server\Remote Administration Client), которая позволяет удаленно управлять кластером серверов 1C. Ниже выложен шаблон скрипта PowerShell для выгрузки базы 1C в файл dt с помощью этой утилиты.

1 стартмани

23.09.2019    4468    8    alexer    26    

Резервное копирование SQL-базы 1С в два клика Промо

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Простой и надежный способ бэкапа без углубления в тонкости настройки SQL Server Management Studio

1 стартмани

26.09.2012    49336    41    skilster    9    

Бэкап средствами 1С для баз под управлением СУБД

Архивирование (backup) v8 Абонемент ($m)

Скрипт для создания бэкапов баз 1С под управлением СУБД с созданием log-файла и отправки уведомлений на почту.

2 стартмани

18.09.2019    4846    6    ketr    24    

Универсальный скрипт резервного копирования Postgres, архивирует все базы сервера баз данных

Архивирование (backup) Абонемент ($m)

Предлагаю использовать универсальный скрипт резервного копирования Postgres, архивирует все базы сервера баз данных, архивируются все добавленные базы, ведется лог архивирования, контролируется глубина архива. Скрипт тестировался на PostgreSQL 10.5 CentOS Linux release 7.6.1810

1 стартмани

13.08.2019    6064    4    solaru    4    

Передача баз PostgreSQL на удалённый сервер резервных копий, удобное восстановление. Почасовой и ежесуточный вариант. В общем, ещё один скрипт

Архивирование (backup) Абонемент ($m)

Скрипты сохраняют резервную копию в архив и отправляют на удалённый rsync сервер самым оптимальным образом. Вы без проблем сделаете текущую резервную копию или восстановите за любой другой день, не выгоняя пользователей. Есть вариант с восстановлением на любое время. Не нужны ни белые IP адреса клиентов с NAT, ни VPN. Максимально облегчённый вариант, позволит вам массово подстраховать базы клиентов, и стоить вам будет это почти ничего.

1 стартмани

05.08.2019    5871    2    ЕСТЬNULL    0    

Копиратор-1С: выгрузка и загрузка базы 1С (7.7 - 8.3) одной кнопкой! Промо

Сервисные утилиты Архивирование (backup) Администрирование данных 1С Абонемент ($m)

Требуется сохранить базу 1С на флешку? Послать аудиторам на проверку или просто взять домой поработать? Копиратор-1С: универсальный помощник выгрузки и загрузки файловых баз 1С любых версий! Не требует установки и дополнительных программ. Представляет из себя один файл, включающий мощных архиватор 7-zip. Умеет подключать базу в список 1С при загрузке!

1 стартмани

17.06.2013    50200    31    alexey.karmanov    49    

Как настроить автоматическое резервное копирование в MS SQL SERVER EXPRESS

Архивирование (backup) Абонемент ($m)

При использовании MS SQL Server редакции Express, которая является бесплатной, важно понимать, что она имеет ряд ограничений. Кроме того что размер базы данных при использовании MS SQL Server Express не может превышать 10 Гб, в составе этой редакции СУБД отсутствует SQL Server Agent, который позволяет создавать планы обслуживания баз данных для регулярного автоматического выполнения. В результате нет возможности автоматизировать резервное копирование базы данных штатными средствами. Однако выход из ситуации есть. В статье описана инструкция по настройке автоматического резервного копирования для MS SQL Server Express 2008.

1 стартмани

20.06.2019    10965    2    igordynets    5    

БЭКАПЕР на FTP c открытым кодом

Архивирование (backup) Абонемент ($m)

Бесплатная Windows программа для автоматической загрузки (дублирования) архивов баз данных 1С, SQL и прочих файлов на ваш FTP-сервер. Надёжная защита от вирусов шифровальщиков и прочих неприятностей связанных с потерей данных. Программа полностью бесплатная + представляются исходный код, чтобы каждый мог её доработать под себя.

1 стартмани

14.06.2019    5598    5    yukoz    4    

Внешняя компонента для безопасного копирования файловой базы без отключения пользователей

Архивирование (backup) v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя компонента для блокировки и последующего безопасного копирования файловой базы 1С, написанная по технологии NativeAPI.

1 стартмани

17.04.2019    1521    1    frkbvfnjh    3    

Циклический бэкап по дням недели Промо

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Абонемент ($m)

В интернете часто можно встретить статьи о том, как написать скрипты для автоматического архивирования баз MSSQL. Методика, в них предлагаемая создает новый архив каждый новый день. Более подробно об этом можно почитать в http://outcoldman.ru/ru/blog/show/127 Я предлагаю незначительное усовершенствование скриптов и генерацию архивов по дням недели с циклической их перезаписью. Скрипт тоже не полностью мой, а скомпонован из различных примеров, найденных в интернете, но, надеюсь, именно представленный вариант будет полезен не только мне.

1 стартмани

15.06.2010    38523    3    milkers    15    

Последовательный и параллельный бэкап баз в MS SQL скриптами

Архивирование (backup) v8 Россия Абонемент ($m)

На картинке старый добрый Maintaince Plan. Работает давно и надежно. Но вот при 30 активных и столько же архивных базах каждое изменение - это много щелканий мышкой и сохранений. А хочется просто исправить список баз в одном месте, и все. В процессе переписывания Maintaince Plan в скрипт возникла идея попробовать обрабатывать базы параллельно. В конце концов, зачем была потрачена куча денег на "ядра, кэш и прочий треш"?

1 стартмани

28.02.2019    4307    3    DonAlPatino    24    

Легкое создание резервной копии типовой ИБ в режиме 1С:Предприятие

Архивирование (backup) v8 УНФ БГУ ERP2 ЗКГУ3.0 БП3.0 КА2 ЗУП3.x Абонемент ($m)

Обработка позволяет создавать и восстанавливать резервную копию информационной базы ряда типовых конфигураций в режиме 1С:Предприятие силами рядовых сотрудников без посторонней помощи.

1 стартмани

04.02.2019    5715    8    Леонов Александр    0    

Простая проверка "целостности" и резервное копирование реестра кластера сервера 1С Предприятия на Linux-сервере

Архивирование (backup) v8 Абонемент ($m)

Bash-скрипт для проверки контрольной суммы файла реестра кластера и создания резервной копии данного файла в случае, если изменение считается "корректным", при работе сервера 1С Предприятия на платформе GNU/Linux.

1 стартмани

09.01.2019    4981    0    Sloth    0    

Бэкапер-1С: резервные копии бухгалтерии (1С 7.7 - 8.3) Промо

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Бэкапер-1С: версия 1.5.0. Появилась гибкая система удаления старых копий! А также: автоматический поиск баз, архивация документов, встроенный архиватор 7-Zip, целостность создаваемых копий, шифрование, отправка отчетов на почту и каталогизация. Ещё никогда резервное копирование не делалось так просто.

1 стартмани

16.05.2013    60235    97    alexey.karmanov    181    

Резервное копирование прикрепленных файлов ИБ на Linux-сервере

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Немного о том, как организовать резервное копирование прикрепленных файлов информационной базы, хранящихся в файловых томах, а не в самой ИБ, в случае когда сервер 1С Предприятия работает на платформе GNU/Linux.

1 стартмани

21.12.2018    4269    0    Sloth    0    

Резервное копирование и обслуживание баз Postgre SQL в Windows

Архивирование (backup) Россия Абонемент ($m)

Резервное копирование и обслуживание баз Postgre SQL в Windows скриптами командной строки

1 стартмани

14.11.2018    9369    37    user598613_svp_gamma    3    

BAT-файл для выгрузки информационной базы в zip-архив

Архивирование (backup) Абонемент ($m)

Скрипт позволяет упростить и ускорить мероприятия по выгрузке информационных баз в архив.

1 стартмани

08.11.2018    5481    3    Amunrah    2    

Резервариус администратора: сделай копию и делай, что хочешь! Промо

Архивирование (backup) Абонемент ($m)

Необходимо менять базу [скрипты, файлы ... неважно] и хочется подстраховаться? Копия нужна прямо сейчас, чтобы не тряслись коленки потом и можно было сделать “rollback”? Резервариус: сделай копию и делай, что хочешь! Универсальная система хранения копий любых файлов и папок. Поможет там, где нет смысла применять полноценную систему контроля версий или систему резервного копирования.

1 стартмани

26.06.2013    41141    10    alexey.karmanov    29    

Резервное копирование по расписанию для MS SQL Express

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Внешняя дополнительная обработка, которая позволяет использовать регламентные задания 1С для запуска сценария резервного копирования на сервере MS SQL Express. Таким образом решается проблема отсутствия у Express версии сервера MS SQL собственного агента и планировщика заданий. Обработка позволяет настроить для себя разрешение записи на диск и выполняться в безопасном режиме.

1 стартмани

15.10.2018    5421    4    elian    34    

Резервное копирование файлов 1С:Документооборот

Архивирование (backup) v8 ДО Абонемент ($m)

WSH файл резервного копирования файлов инкрементальный.

1 стартмани

28.09.2018    5580    5    ligsht    0    

Копирование / хранение бекапов

Архивирование (backup) v8 1cv8.cf Россия Абонемент ($m)

Обработка копирует файловые базы или sql бекапы на ftp. При этом сохраняет на ftp только 5 последний файлов, и удаляет старые, при успешной и/или не успешном копировании может производиться рассылка email

2 стартмани

20.07.2018    5300    1    thueirby    0    

Автоматическая архивация (настройка через обработку), стандартными средствами Windows (batch + schtasks) Промо

Архивирование (backup) v8 1cv8.cf Россия Абонемент ($m)

Есть много статей, как сделать батники для архивации баз 1С, столько же статей, как настроить автоматический запуск этих батников, но лень - она такая. Пользователю разбираться в cmd не хочется, а уж тем более лезть в настройки винды... Специально для ленивых, написал эту обработку.

1 стартмани

18.07.2013    26511    36    greenLiss    11    

Автоматизация удаления устаревших резервных копий

Архивирование (backup) Абонемент ($m)

Скрипт и библиотека на OneScript для автоматизации удаления устаревших резервных копий.

1 стартмани

08.07.2018    5703    3    metmetmet    2    

"Перезаливатор" - приложение для автоматизации "перезаливки" баз

Архивирование (backup) Абонемент ($m)

В данной статье я хотел бы рассказать о приложении «Перезаливатор», которое позволило нам значительно облегчить процесс «перезаливки» баз, вплоть до самостоятельной «перезаливки» информационных баз консультантами 1С.

1 стартмани

05.07.2018    13089    15    Tavalik    24    

Бэкапер файловых баз с хранением на яндекс-диске

Архивирование (backup) v8 1cv8.cf Россия Абонемент ($m)

Еще один бекапер файловых баз на инфостарте. Возможно будет интересен франчам, у кого много небольших клиентов с файловыми базами. У себя используем больше года. Состоит из 3-х частей: 1 - размещается на компьютере клиента; 2 - настраивается яндекс-диск; 3 - у себя на рабочем компьютере. Настроенная система организует архивацию файловых баз данных на компьютере клиента, копирование их на яндекс-диск, сбор и анализ информации о наличии архивов на яндекс-дисках с возможностью закачки к себе на рабочий компьютер.

5 стартмани

04.06.2018    7034    1    yabrus    4    

Резервное копирование баз SQL Server на базе 1С. Промо

Архивирование (backup) v8 1cv8.cf Россия Абонемент ($m)

Конфигурация предназначенная для резеврного копирования баз SQL Server. Может использоваться как автономно, так и объединяться с любой конфигурацией. Код полностью открыт и доступен для редактирования.

1 стартмани

24.05.2012    29522    29    bystrov-e    52    

Генератор скриптов резервного копирования

Архивирование (backup) v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка, которая позволяет генерировать скрипты для резервного копирования баз 1С.

1 стартмани

03.06.2018    7086    16    Dream_kz    6    

Исполняемый .bat файл для резервного копирования 1С

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Простейшее решение для выгрузки .dt, доступное любому пользователю 1С.

1 стартмани

14.05.2018    22130    18    SergPetr    32    

bat-файл для копирования с FTP *.cfu и обновления 1С

Сервисные утилиты Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Батник для загрузки с FTP файла обновления 1С (*.cfu), создания резервной копии и обновления 1С.

1 стартмани

07.05.2018    8047    2    pyrkin_vanya    2    

Резервное копирование 1С 8.2 -файловый вариант .NET 2.0 Промо

Архивирование (backup) v8 1cv8.cf Россия Абонемент ($m)

Задумкой написания данной программы послужил опыт того что приходя к клиенту необходимо максимально быстро сделать обновление. А это необходимо сделать копию базы, запустить конфигуратор со значка который переименован в "Бух" и поставлено дерево... В общем у каждого пользователя свои фокусы. Ко всему прочему если файлы лежат где-то в сети и комп эдак пенек 3, то совсем грустно становиться при попытке открыть "Сетевое окружение".

1 стартмани

24.04.2012    17576    0    valter    6    

Автоматизируем "перезаливку" баз (Скрипты для SQL-Server - Часть 1)

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Предлагаю вашему вниманию несколько SQL-скриптов (для MS SQL-Server) для автоматизации процесса резервного копирования и восстановления баз данных. Скрипты для восстановления позволяют "перезаливать" базы данных, т. е. восстанавливать одну базу из копий другой базы данных. Все скрипты формируют лог для вывода и при необходимости могут отправлять результат работы по электронной почте.

1 стартмани

15.03.2018    27369    17    Tavalik    13    

Скрипт резервного копирования PostgreSQL на Powershell

Архивирование (backup) Абонемент ($m)

Заготовка скрипта. Эти заготовки помогут настроить резервное копирование встроенными методами Windows, с помощью Powershell.

1 стартмани

02.03.2018    9239    9    user811626    0    

Резервное копирование файлов nw_am.exe

Сервисные утилиты Архивирование (backup) Россия Абонемент ($m)

Резервное копирование файлов. Интерфейса нет, всё делается через 2 файла настройки. Очень маленькая и незаметная программа, которая работает даже на слабых компьютерах. Тестировалась на Window XP, Window 7 и Windows 10. Проверялось антивирусами Avast и Avira, за вирус не приняли. Язык разработки Pure Basic (надстройка над FASM-ом). Код закрыт, т.к. не думаю. что кому-то будет интересно разбирать синтаксис малознакомой среды разработки. Копирование производится в папки по дате и времени.

1 стартмани

26.02.2018    7685    0    strange2007    1    

Установка автоматического архивирования для 1С 8.1 и 8.2 (4.0.4.2) Промо

Администрирование данных 1С Архивирование (backup) v8 1cv8.cf Россия Абонемент ($m)

Думай о будущем - сохрани прошлое. Настройка автоматического ежедневного архивирования нажатием одной кнопки. Для 1С:Предприятия 8.1 и 8.2. А пароли? ...прячутся :)

1 стартмани

17.03.2009    86052    102    alexk-is    196    

Динамическое обновление больше не страшно! Сохранение таблицы Config перед динамическим обновлением

Архивирование (backup) v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка для резервного сохранения SQL-таблиц Config b ConfigSave перед динамическим обновлением, а также восстановления этих таблиц в случае сбоя.

1 стартмани

09.02.2018    17297    56    santon    14    

Быстрый бэкап файловой базы 1С, или другой важной информации из каталога

Архивирование (backup) Россия Абонемент ($m)

bat файл для быстрого бэкапа каталога и его содержимого.

1 стартмани

31.01.2018    9793    9    born85    4    

Восстановление данных из fullbackupdata Sony PC Companion. Часть 1: Телефонная книга

Архивирование (backup) Россия Абонемент ($m)

Друзья, довелось столкнуться с проблемой - есть телефон Sony с разбитым экраном, в котором осталась смс с очень важным номером телефона. Единственное, что удалось - сделать бэкап, подключив телефон к ноуту. И возник вопрос - что же делать дальше с файлами бэкапа, как из них получить в читабельном виде. "Простого" решения, чтобы восстановить данные, как оказалось, не существует. Но, существуют прекрасные люди, которые сделали целый урок по восстановлению данных из бэкап-файлов Android. Ниже перевод этой очень полезной статьи.

1 стартмани

13.01.2018    10462    2    user893870    0    

Восстановление части данных из архива в рабочую базу данных Промо

Администрирование данных 1С Архивирование (backup) Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Россия Абонемент ($m)

Когда случилась неприятная ситуация... Ситуация первая. Ввели документ прошлым периодом. Слетела граница последовательности. Восстановили и обнаружили, что поплыли отчетные данные прошлых периодов. Ситуация вторая. Кто-то нажал "что-то" и были удалены элементы справочников прошлого периода без контроля целостности. Теперь в документах и отчетах "битые" ссылки. Эта статья о том, что можно сделать в подобной ситуации. Не волнуйтесь. ВСЕ БУДЕТ ХОРОШО.

1 стартмани

16.12.2009    27285    4    alexk-is    17    

Автоматическое архивирование 1С для 8.3 в *.dt

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Обработка предназначена для автоматического архивирования базы 1С.

1 стартмани

13.11.2017    10897    11    zVORTEXz    8    

Генератор скрипта резервного копирования PostgreSQL

Архивирование (backup) v8 1cv8.cf Россия Абонемент ($m)

Однажды возникла необходимость настроить резервное копирование порядка 20 баз 1С на PostgreSQL. Вручную писать скрипт было очень лень, поэтому была написана эта обработка.

1 стартмани

21.10.2017    8640    16    sleemp    3    

Архиватор на основе кода Хаффмана

Архивирование (backup) ИТ-компания Беларусь Абонемент ($m)

Архиватор на основе кода Хаффмана. Консольная программа. Компилятор gcc. Проанализировав размер файлов до и после кодирования, можно с уверенностью сказать, что для файлов видео, аудио, изображения, документов(*.pdf; *.docx; *.rmp; *.exe) кодирование оказалось неэффективным, а для файлов исходных текстов (*.cpp) и исполняемых файлов Linux кодирование, напротив, оказалось эффективным, и их размер уменьшился почти вдвое.

1 стартмани

19.09.2017    7551    0    user823634    1    

Скрипты на SQL для автоматизации архивации и сжатия баз данных

Архивирование (backup) Россия Абонемент ($m)

Автоматизирует всю работу по созданию backup на Sql Server, архивированию, удалению старых. Раскладывает backup по папкам - годовые, месячные, недельные, ежедневные. Архивирует WIN RAR. Очищает старые исходя из заданной политики сроков хранения backup каждого вида.

1 стартмани

22.05.2017    16719    20    SergeiGer    12