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

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

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

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

 

Готово

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

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

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

41

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

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

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

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

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

См. также

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

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

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

2 стартмани

15.01.2020    554    2    Mallok    6       

22 января состоится вебинар "Использование технологии блокчейн в 1С" Промо

На вебинаре вы узнаете как использовать современную технологию блокчейн при проектировании и создании учетных систем, почему эту технологию следует рассматривать как одну из базовых. Ведущий Михаил Калимулин поделится своими знаниями основ технологии и опытом внедрения.

990 рублей

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

Инструменты и обработки Системный администратор Компонента, плагин (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    2405    4    alexer    26       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

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

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

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

2 стартмани

18.09.2019    3370    4    ketr    23       

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

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

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

1 стартмани

13.08.2019    3869    2    solaru    4       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

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

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

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

1 стартмани

05.08.2019    3698    ЕСТЬNULL    0       

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

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

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

1 стартмани

20.06.2019    5876    1    igordynets    3       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

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

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

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

1 стартмани

14.06.2019    3691    3    yukoz    2       

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

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

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

1 стартмани

28.02.2019    2830    3    DonAlPatino    23       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

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

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

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

1 стартмани

12.02.2019    2807    4    ixilimuse    5       

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

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

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

1 стартмани

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

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

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

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

1 стартмани

09.01.2019    3224    Sloth    0       

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

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

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

1 стартмани

21.12.2018    2873    Sloth    0       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

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

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

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

1 стартмани

14.11.2018    6561    24    user598613_svp_gamma    2       

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

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

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

1 стартмани

08.11.2018    4212    2    Amunrah    2       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

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

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

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

1 стартмани

15.10.2018    4034    4    elian    32       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

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

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

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

2 стартмани

20.07.2018    3951    1    thueirby    0       

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

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

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

1 стартмани

08.07.2018    4405    4    metmetmet    2       

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

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

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

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

1 стартмани

05.07.2018    11419    16    Tavalik    24       

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

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

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

5 стартмани

04.06.2018    5580    1    yabrus    4       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

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

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

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

1 стартмани

03.06.2018    5498    15    Dream_kz    6       

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

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

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

1 стартмани

14.05.2018    18003    14    SergPetr    26       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.130.х, КА 2.4.11.х и ERP 2.4.11.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

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

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

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

1 стартмани

07.05.2018    6659    3    pyrkin_vanya    2       

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

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

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

1 стартмани

15.03.2018    23814    20    Tavalik    12