Kuzevich

Kuzevich

Существует множество способов резервного копирования серверов и баз данных, но нигде не нашел описания автоматизации резервного копирования баз 1С в облако cloud.mail.ru

Почему cloud.mail.ru? Потому что в 2013 году были получены халявные 100Гб и грех ими не воспользоваться. Так же в данной статье я опишу несколько полезных команд windows, которые пригодятся и для других задач (например очистка файлов старше определенного срока, как убить сеансы 1С, что делать чтобы bat-файл дожидался выгрузки dt, не переходя на следующую команду, архивация dt с разбивкой на архивы не более 2Гб (mail.ru файлы большего размера не пропускает) )

Итак, для начала, например, на диске D: создаем папку backup. В ней папку SQL, в которую у нас будут складываться ежедневные backup'ы sql сервера. Настроить их можно следующим образом: https://infostart.ru/public/199760/

Затем нам нужно позаботиться чтобы на сервере был установлен архиватор, в моем примере WinRar

И настроить WebDAVCloudMailRu для подключения хранилища cloud.mail.ru в качестве сетевого диска, подробнее здесь:  https://glashkoff.com/webdav-cloudmailru/

Теперь все готово для запуска нашего .bat файла, которые последовательно выполняет операции:

1) Удаляем бэкапы базы SQL средствами сервера старше 7 дней

Forfiles -p "D:\backup\SQL" -s -m *.* -d -7 -c "cmd /c del /q @path"

2) Удаляем временные файлы, остающиеся от службы WebDAV (иначе они переполнят диск C:)

del /F/S/Q C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\* 

3) Убиваем открытые сеансы 1С на сервере (можно перед запуском нашего bat-файла в планировщике поставить перезагрузку сервера, чтобы наверняка)

taskkill /IM 1cv8.exe /f
taskkill /IM 1cv8c.exe /f
taskkill /IM 1cv8s.exe /f

4) Выгружаем базы. В командной строке выгрузки .dt нужно указывать именно 1cv8.exe, иначе 1С вернет управление командному файлу и он пойдет дальше не дождавшись выгрузки.

командная строка выгрузки SQL базы
call "C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" CONFIG /M /S"Server1c\ut" /N"ИмяПользователя" /P"ПарольПользователя" /Out"D:\backup\1c_ut.log"  /DumpIB"D:\backup\bak\ut.dt"

командная строка выгрузки файловой базы
call "C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" CONFIG /M /F"C:\1С\Бухгалтерия" /N"ИмяПользователя" /P"ПарольПользователя" /Out"D:\backup\1c_buh.log"  /DumpIB"D:\backup\bak\buh.dt"

5) Архивируем выгруженные базы, с размером не более 2000000 кбайт (2Гб), иначе сервис их не пропустит

"C:\Program Files (x86)\WinRAR\rar.exe" a -o+ -dh -r -m5 -v2000000 D:\backup\bak\backup1Cut_0.rar D:\backup\bak\ut.dt
"C:\Program Files (x86)\WinRAR\rar.exe" a -o+ -dh -r -m5 -v2000000 D:\backup\bak\backup1Cbuh_0.rar D:\backup\bak\buh.dt

6) подключаем облако mail.ru как сетевой диск через службу WebDAVCloudMailRu 

net use M: /DELETE
net use M: http://127.0.0.1:801 "ПарольОблакаMailRu" /USER:ЛогинОблакаMailRu

7) Копируем архивы в облако Mail.ru

xcopy "D:\backup\bak\backup1Cbuh_0.rar" M:\ /Y
xcopy "D:\backup\bak\backup1Cut_0.*" M:\ /Y

На этом все. Готовый .bat-ник можете скачать из вложения к статье.

Поскольку в ноутбуке стоит SSD небольшого объема, приходится пользоваться внешним жестким диском. До сих пор использовал HDD 7200 оборотов, что давало приемлемую, но недостаточную скорость. Задался вопросом, на сколько я выиграю в скорости, если перейду на внешний SSD. А так же было интересно, есть ли разница в скорости внешнего и внутреннего SSD. К сожалению, не нашел в интернете сравнительных тестов с конкретными цифрами, пошел по тернистому пути проб и ошибок. Был куплен внешний SSD Smartbuy S3. Забегая вперед, хочу сказать, это того стоило, прирост скорости чтения/записи в 3 раза по сравнению с HDD. Ну и, конечно же, радует устойчивость к падениям, поскольку отсутствуют механические части.

Скорость дисков измерялась способом последовательной записи/чтения в программе CrystalDiskMark

Итак, итоги:

Внешний HDD скорость чтения 126Мб/с, записи 121Мб/с

Скорость внешнего HDD

Внешний SSD скорость чтения 357Мб/с, записи 405Мб/с

Скорость внешнего SSD

Ну и на десерт:

Внутренний SSD скорость чтения 434Мб/с, записи 295Мб/с

Скорость внутреннего SSD

Удивительно, что внутренний диск SSD проиграл по скорости записи. Возможно вызвано изношенностью или тем что модель диска уже достаточно старая.

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

OJT ПО ТЕМЕ «ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ» (ЕВРОПЕЙСКАЯ ЧАСТЬ РОССИИ)
В РАМКАХ ТЕХНИЧЕСКОГО СОДЕЙСТВИЯ РОССИИ В 2019 ФИНАНСОВОМ ГОДУ

OJT IT 2019 Как это было?!


Закончив в 2014 году президентскую программу, я и представить не мог, что окажусь в числе тех, кто съездил на зарубежную стажировку. Спустя пять лет, когда я уже и не вспоминал об этой возможности, мне на почту пришло приглашение поучаствовать в отборе.
Я заполнил анкеты, отправил в ресурсный центр, затем сходил на собеседование в Японский центр в Нижнем Новгороде, и вскоре, получил приглашение на прохождение стажировки в Японии.
Сказать, что я был удивлен, это слишком слабо для всего того спектра эмоций. Япония всегда для меня была мечтой. И вот она на расстоянии вытянутой руки.
09.11.2019 СТРИЖ отправляется из Нижнего Новгорода в сторону Москвы. Вылет из аэропорта Домодедово. Нужно успеть к 13:00 к оранжевой Информационной стойке аэропорта в центре зала, для того, чтобы централизованно получить свои загран.паспорта с Японской визой (отправляли заранее) и прослушать брифинг о предстоящей стажировке.

Добрый день, Друзья.

Если Ваше приложение для мобильного устройства, то при переходе в inputbox, автоматически открывается родное приложение клавиатуры.

Но я столкнулся с проблемой при разработке приложения для тач-скрина на платформе windows.

Теоретически, экранная клавиатура в нем есть и я вначале использовал системный вызов, подсмотренный здесь:

    public void ShowTouchKeyboard()
    {
        ExternalCall("C:\\Program Files\\Common Files\\Microsoft Shared\\ink\\tabtip.exe", null, false);
    }
 

или

    public void ShowOnScreenKeyboard()
    {
        if (_onScreenKeyboardProcess == null || _onScreenKeyboardProcess.HasExited)
            _onScreenKeyboardProcess = ExternalCall("OSK", null, false);
    }

Но столкнулся с тем, что она периодически глючила - либо не появлялась, либо залипали кнопки, в связи с этим было решено набросать свой Prefab для Unity, более того, выложил его в assetstore (об этом возможно отдельную статью напишу позже).

Asset бесплатный, скачивайте и пользуйтесь на здоровье:

https://assetstore.unity.com/packages/tools/input-management/osk-onscreenkeyboard-rus-eng-148532