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

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

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

39
Вы можете держать копии баз своих клиентов актуальными на своем 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 # Исходящий трафик разрешаем

 

Готово

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

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

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

39

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

Наименование Файл Версия Размер
Клиентская и серверная часть системы удалённого резервного копирования
.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 158 16.11.17 02:58 Сейчас в теме
Ну как сложно. Rsync & ssh. За счет простоты и моменты по обеспечению безопасности проверяются быстро. Bareos всё-таки комплекс, в котором большее количество узлов.

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

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

За статью однозначно спасибо!
4. ЕСТЬNULL 158 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 158 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 158 23.11.17 03:25 Сейчас в теме
(7) Я смотрел, Dropbox Plus держит копию 30 дней, скорее всего Basic держит не больше. Чего в принципе достаточно. Надо будет попробовать. Спасибо за идею.
Оставьте свое сообщение

См. также

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

Инструменты и обработки Системный администратор Компонента, плагин (dll, vbs,..) v8 1cv8.cf Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

23.09.2019    923    2    alexer    26       

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

Инструменты и обработки Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Архивирование (backup)

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

2 стартмани

18.09.2019    2427    4    ketr    23       

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

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

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

1 стартмани

13.08.2019    2364    2    solaru    4       

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

Инструменты и обработки Системный администратор Архив с данными Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

05.08.2019    2200    ЕСТЬNULL    0       

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

Статья Системный администратор Архив с данными Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

20.06.2019    2431    igordynets    3       

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

Инструменты и обработки Системный администратор Программист Архив с данными Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

14.06.2019    2427    3    yukoz    2       

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

Инструменты и обработки Системный администратор Архив с данными v8 Россия MS SQL Абонемент ($m) Архивирование (backup)

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

1 стартмани

28.02.2019    1934    3    DonAlPatino    23       

Быстрое восстановление бэкапа на тестовую базу 2

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Архивирование (backup)

Кто как восстанавливает свежие бэкапы на тестовые базы. Лично я довольно долго использовал для этого SQL скрипт. С ним меньше возни, чем с интерфейсом, который меняется из версии к версии. Кто-то использует bat файлы, тоже быстрый и надежный способ. В данной публикации я делюсь приложением, написанным на C#, которое восстанавливает базу из бэкапа, и даже при необходимости может перед восстановлением сохранить копию *.cf.

1 стартмани

12.02.2019    2056    4    ixilimuse    5       

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

Инструменты и обработки Системный администратор Бухгалтер Внешняя обработка (ert,epf) v8 УНФ БГУ ERP2 ЗКГУ3.0 БП3.0 КА2 ЗУП3.x Абонемент ($m) Архивирование (backup)

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

1 стартмани

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

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

Инструменты и обработки Системный администратор Архив с данными v8 Linux Абонемент ($m) Архивирование (backup)

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

1 стартмани

09.01.2019    2135    Sloth    0       

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

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

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

1 стартмани

21.12.2018    2004    Sloth    0       

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

Инструменты и обработки Системный администратор Архив с данными Россия Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

14.11.2018    4853    19    user598613_svp_gamma    2       

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

Инструменты и обработки Системный администратор Программист Архив с данными Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

08.11.2018    3397    2    Amunrah    2       

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

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Архивирование (backup)

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

1 стартмани

15.10.2018    3174    4    elian    32       

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

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Архивирование (backup)

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

2 стартмани

20.07.2018    3110    1    thueirby    0       

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

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

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

1 стартмани

08.07.2018    3669    4    metmetmet    2       

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

Инструменты и обработки Системный администратор Программист Архив с данными Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

05.07.2018    10326    16    Tavalik    24       

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

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

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

5 стартмани

04.06.2018    4666    1    yabrus    4       

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

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

03.06.2018    4682    11    Dream_kz    5       

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

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

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

1 стартмани

14.05.2018    14859    13    SergPetr    26       

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

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

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

1 стартмани

07.05.2018    5804    3    pyrkin_vanya    2       

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

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Архивирование (backup)

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

1 стартмани

15.03.2018    21222    19    Tavalik    12       

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

Инструменты и обработки Системный администратор Архив с данными Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

02.03.2018    7367    8    user811626    0       

Архивирование файлов 2

Инструменты и обработки no Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Архивирование (backup)

Обработка на управляемых формах позволяет архивировать документы с заданными расширениями.

1 стартмани

26.02.2018    5876    2    user748289    2       

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

Инструменты и обработки Системный администратор Приложение (exe) Россия Windows Абонемент ($m) Сервисные утилиты Архивирование (backup)

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

1 стартмани

26.02.2018    5555    strange2007    1       

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

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Архивирование (backup)

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

1 стартмани

09.02.2018    13740    55    santon    14       

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

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

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

1 стартмани

13.01.2018    8513    2    user893870    0       

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

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Архивирование (backup)

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

1 стартмани

13.11.2017    8496    12    zVORTEXz    8       

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

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия PostgreSQL Абонемент ($m) Архивирование (backup)

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

1 стартмани

21.10.2017    7108    15    sleemp    3       

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

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

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

1 стартмани

19.09.2017    6326    user823634    1       

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

Инструменты и обработки Системный администратор Компонента, плагин (dll, vbs,..) Россия MS SQL Абонемент ($m) Архивирование (backup)

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

1 стартмани

22.05.2017    13959    22    SergeiGer    12       

Архивные копии файловой базы данных в фоновом режиме 1

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Архивирование (backup)

Создание командных файлов архивирования файловой базы данных. Архивация происходит в фоновом режиме, возможно сохранение копий в три разных места.

5 стартмани

18.05.2017    8958    2    BackHand001    8       

Backuper (программа резервного копирования данных) 19

Инструменты и обработки Системный администратор Приложение (exe) v8 Windows Абонемент ($m) Архивирование (backup)

Программа резервного копирования произвольных данных и выгрузки DT из баз 1С.

2 стартмани

11.04.2017    15562    74    ziercool    50       

Автоматическое сохранение базы штатными средствами 3

Инструменты и обработки Системный администратор Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Архивирование (backup)

Всё началось с того, что я лентяй. Когда пришел на работу в первый раз, мне сообщили, что уже лет 10 делают сохранение  базы каждый день в конце рабочего дня. Из этого вытекает, что  если кто-то решит подтянуть свои хвосты, то мне приходится сидеть на работе тоже. Честно, мягко говоря, меня это не особо радовало... Порывшись на просторах инета, было принято решение сделать "автосохранялку". Как уже говорилось, "Я ЛЕНИВЫЙ", поэтому мне было попросту лень ставить всякие утилиты и программки, реализовал все штатными средствами.

1 стартмани

02.12.2016    10170    5    mt111    9       

Выгрузка файлов справочника "Дополнительные отчеты и обработки" и файлов из справочника "Внешние обработки" в каталог 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Архивирование (backup) Обработка справочников

Внешняя обработка для выгрузки файлов справочника "Дополнительные отчеты и обработки" и файлов из справочника "Внешние обработки" в каталог (для типовых конфигураций)

1 стартмани

13.07.2016    8249    11    Yackov    1       

Резервное копирование файловой базы данных в 1 клик (со сжатием в zip формате) 2

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Архивирование (backup)

Внешняя обработка для оперативного (в 1 клик) архивирования файловой базы (1Cv8.1CD) на платформе 1С:8.2 и 1С:8.3. Обычное приложение.

1 стартмани

26.05.2016    9782    17    svitdir    4       

Отключение резервного копирования у всех пользователей 8

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

16.05.2016    12952    33    GrafFromTomsk    1       

Автоматическое обновление, архивирование баз 1С 10

Инструменты и обработки Системный администратор Архив с данными Windows Абонемент ($m) Архивирование (backup)

Данное приложение умеет работать как служба и выполнять операции по автоматическому архивированию, обновлению, применению конфигурации (в базах РИБ), выполнять регламентные задания по расписанию.

1 стартмани

04.05.2016    13846    29    kias777    30       

Как в MS Windows server завершить сессии пользователей в терминале в определенное время 11

Инструменты и обработки Системный администратор Программист Архив с данными Windows Абонемент ($m) Сервисные утилиты Архивирование (backup)

Нужно сделать backup базы, но пользователи не выходят нормально из 1С и висят терминальные сессии, что делать? Просто поставь скрипт в задачи сервера, например, за час до бекапа, и вуаля - все пользователи вышли. Скрипт ниже :)

1 стартмани

04.03.2016    20382    17    RomanBor    11       

1C Service Kit v0.3 8

Инструменты и обработки Системный администратор Приложение (exe) v8 1cv8.cf Windows Абонемент ($m) Архивирование (backup)

Программа для пакетного архивирования, обновления (в дальнейшем обслуживания, проверок, восстановления и прочего) баз данных 1С. Предназначена для использования как стационарного, так и портативного использования. Поддержка windows 2k/XP/Vista/7/8/10 (32/64 bit), платформы 1С 8.2, 8.3.

1 стартмани

14.02.2016    10055    18    mj5    17       

Скрипт SQL для массового включения SIMPLE модели восстановления и обрезания ldf файлов на всех базах сервера 3

Инструменты и обработки Системный администратор Архив с данными Windows Абонемент ($m) Архивирование (backup) Чистка базы Администрирование данных 1С

Часто возникает ситуация, когда на диске заканчивается свободное место из-за разросшегося журнала транзакций. Особенно тяжело бывает на серверах для разработки и тестирования, где инфобазы создаются в больших количествах. Скрипт позволяет автоматически включить простую модель восстановления и обрезать ldf файлы для всех баз, зарегистрированных на MS SQL Server.

1 стартмани

04.02.2016    14154    21    DonAlPatino    9       

Бэкапы файловых баз 4

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

Информационная база для бэкапа любых файловых БД (написана под 1С 8.3) * бэкапит файловые БД * помещает их в архив и хранит историю бэкапов в архиве * прореживает архивы за период

1 стартмани

04.01.2016    9844    19    kite2    13       

SuperArchive - файловая архивация баз 1

Инструменты и обработки Системный администратор Архив с данными Windows Абонемент ($m) Архивирование (backup)

Доброго времени суток! Часто ли вам приходится делать бэкап файловых баз? Если да, то это программа для Вас. Программа сильно помогает, если приходится архивировать большое количество баз. Нужно всего лишь один раз добавить базу, указав её путь и имя, или же получить список из вашего существующего списка в 1С и при необходимости сохранить список

100 руб.

21.12.2015    7397    7    13       

Скрипт для выгрузки информационной базы 17

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) Россия Windows Абонемент ($m) Архивирование (backup)

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

1 стартмани

06.11.2015    22796    13    bashirov.rs    13       

Автоматическое обновление конфигураций 13

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Архивирование (backup) Администрирование данных 1С

Очень много времени программист тратит на обновление однотипных (и не очень) конфигураций, избавляемся от этого, и освободившееся время тратим на что-то более интересное.

1 стартмани

23.09.2015    12331    15    DmitriyPopow    7       

Обновление типовых конфигураций с архивированием 4

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Сервисные утилиты Архивирование (backup)

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

1 стартмани

22.09.2015    10770    10    vva    5       

Восстановление из архива базы PostgreSQL 5

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

В продолжении разговора о PostgreSQL, в предыдущих статьях, мы дошли до того, что нам стал необходим инструмент, который бы позволил работать с файлами резервной копии базы данных. В этом видео уроке мы покажем, как сделать скрипт для автоматического восстановления "Копии вчерашнего дня"...

1 стартмани

09.09.2015    13896    6    imozg    1