Создание резервной копии данных из CLI

Аргументы командной строки лаунчера (TSLab.exe) для создания резервной копии данных

Лаунчер — TSLab.exe. Он выполняет операции, которые нельзя сделать из работающей программы: создание и восстановление резервной копии, обновление, перезапуск. Режим и состав операции задаются только аргументами командной строки. Важно! Нужно обеспечить, чтобы создание резервной копии осуществлялось без запущенного процесса основной программы. Это связано как с системными блокировками некоторых файлов на чтение, так и целостностью данных (когда происходит параллельная запись и чтение группы взаимосвязанных файлов). Лончер не проверяет запущена ли в данный момент программа. Если задан аргумент -pid, лончер сначала будет ожидать завершение процесса с этим Id.

Формат команды создания резервной копии

TSLab.exe -backup=<zip> [общие аргументы] [разделы данных]
  • <zip> - Путь к создаваемому архиву.

  • Переключатель: -ключ. Аргумент со значением: -ключ=значение или -ключ="значение с пробелами".

  • Ключи чувствительны к регистру (-appPath, -watchUpdate, -skipStart).

  • Неизвестные ключи молча игнорируются.

  • Значение обрезается по второму знаку =: из -pwd=a=b будет взято a. Пароли и пути со знаком = передать нельзя.

  • Если значение пути пустое (-cf=), остаётся значение по умолчанию.

Общие аргументы

Аргумент

Значение

По умолчанию

Описание

-appPath=<папка>

Папка программы

не задана

Откуда/куда брать файлы программы и откуда запускать её после операции. Если не задана, программа запускается из папки лаунчера.

-ad=<папка>

Папка данных приложения

%LOCALAPPDATA%\TSLab\TSLab 3.0

Папка с базами, настройками, глобальным кешем и примитивами.

-pid=<число>

PID процесса программы

-1 (не ждать)

Перед операцией лаунчер ждёт завершения этого процесса до 30 минут. Если процесс не завершился, операция не выполняется.

-pwd=<пароль>

Пароль архива

нет

Пароль для создания или чтения архива.

-skipStart

—

выключен

Не запускать программу после операции.

-noadmin

—

выключен

Не требовать прав администратора для -backup, -restore, -update.

-locale=<культура>

Имя культуры, например ru, en

культура UI системы

Язык интерфейса лаунчера.

-theme=<тема>

Light или Dark (регистр не важен)

Light

Тема окна. Любое другое значение даёт Light.

-logfile=<имя>

Имя лог-файла

по режиму

Имя файла в папке логов %LOCALAPPDATA%\TSLab\TSLab 3.0\Logs.

-im

—

выключен

Имитация: операция проигрывается без изменения файлов (см. ниже).

Имя лог-файла по умолчанию: launcher.log.

Разделы данных

Эти аргументы выбирают, что попадает в резервную копию и что из неё восстанавливается.

Аргумент

Значение

Раздел

Примечание

-cr

—

Основные файлы данных: TSLab3.sqlite (с -wal/-shm), Settings.db, Encrypted.db, TSLab.AppSettings.xml, TSLab.Notification.xml, UserSettings.db

Учитывается только при -restore. При -backup эти файлы сохраняются всегда.

-dsp

—

Настройки и пароли поставщиков данных: Provider.db

-app

—

Файлы программы из папки -appPath

Без -appPath берётся %ProgramFiles%\TSLab\TSLab 3.0. Папка должна существовать.

-cd

—

Кеш данных: папки <поставщик>CacheData

Требует -cds.

-cb

—

Кеш баров: папки <поставщик>Cache

Требует -cds.

-ct

—

Кеш сделок: папки <поставщик>CacheTrades

Требует -cds.

-cds=<список>

Имена поставщиков через ;

Список поставщиков для -cd, -cb, -ct

Без списка кеши не обрабатываются.

-cf=<папка>

Папка кешей

Корень, в котором лежат папки кешей

По умолчанию %LOCALAPPDATA%\TSLab\TSLab 2.0, если она существует, иначе %LOCALAPPDATA%\TSLab\TSLab 3.0\Caches.

-cg

—

Глобальный кеш: папка $Global$Objects$ в папке данных

-pr

—

Графические примитивы: папка Primitives в папке данных

-handlers=<папка>

Папка пользовательских кубиков

Содержимое папки целиком

Включает раздел. При пустом значении — %LOCALAPPDATA%\TSLab\TSLab 2.0\Handlers, если есть, иначе %LOCALAPPDATA%\TSLab\TSLab 3.0\Handlers.

-w=<папка>

Папка рабочих пространств

Файлы *.tlws из папки (без подпапок)

Включает раздел. Значение по умолчанию отсутствует.

Поведение

Проверки перед запуском

Путь к архиву не пуст; при -app папка программы существует; права администратора или -noadmin.

При нарушении условия показывается сообщение об ошибке и лаунчер закрывается.

Создание резервной копии (-backup)

  1. Ожидание завершения процесса -pid (если задан).

  2. Создание zip-архива (UTF-8, Zip64 при необходимости, пароль из -pwd).

  3. Запуск программы, если не указан -skipStart.

Окно и отмена

Окно появляется примерно через 2 секунды после старта (в режиме обновления — сразу). Пока лаунчер ждёт завершения процесса -pid, в окне идёт обратный отсчёт 30 минут. Кнопка отмены прерывает операцию и сразу закрывает лаунчер; программа после отмены не запускается.

Коды возврата

Код

Причина

-1

Обычное завершение: и после успешной операции, и после ошибки или отмены.

1

Версия Windows ниже 10.

3

Лаунчер уже запущен.

Успех и ошибку по коду возврата различить нельзя — смотрите лог.

Примеры

Резервная копия основных данных, паролей поставщиков, кешей баров двух поставщиков, примитивов и кубиков:

TSLab.exe -backup="D:\Backup\tslab.backup.202610011200.zip" -appPath="C:\Program Files\TSLab\TSLab 3.0" -theme=Dark -locale=ru -pid=12345 -dsp -cb -cf="C:\Users\user\AppData\Local\TSLab\TSLab 3.0\Caches" -cds="Finam;Binance" -pr -handlers="C:\Users\user\AppData\Local\TSLab\TSLab 3.0\Handlers"

Резервная копия с паролем, включая файлы программы и рабочие пространства, без перезапуска программы:

TSLab.exe -backup="D:\Backup\full.zip" -pwd=secret -appPath="C:\Program Files\TSLab\TSLab 3.0" -app -cg -w="D:\Workspaces" -skipStart