Пользовательские сценарии#
Важно
Создание пользовательских сценариев требует знания команд оболочки Bash и формата JavaScript Object Notation (JSON). Если вы не знакомы с командной оболочкой Bash, хороший учебник можно найти по ссылке http://www.tldp.org/LDP/abs/html. Спецификация JSON доступна на сайте http://www.json.org.
Файлы сценария
Сценарий должен быть расположен в указанных ниже каталогах на машине, в которой установлен мастер создания загрузочных носителей:
В ОС Windows:
%\ProgramData%\\Acronis\\MediaBuilder\\scripts\\В ОС Linux:
/var/lib/Acronis/MediaBuilder/scripts/
Сценарий должен состоять из по меньшей мере трех файлов:
<файл_сценария>.sh— файл со сценарием Bash. При создании сценария используйте только ограниченный набор команд оболочки, который вы можете найти по ссылке https://busybox.net/downloads/BusyBox.html. Также могут быть использованы следующие команды:acrocmd— утилита командной строки для создания резервной копии и восстановленияproduct— команда, запускающая пользовательский интерфейс загрузочного носителя
Этот файл и все другие включенные в сценарий дополнительные файлы (например, посредством использования команды с точкой) должны быть расположены в подпапке
bin. В сценарии укажите дополнительные пути к файлам в виде/ConfigurationFiles/bin/<файл>.autostart— файл для запуска<файл_сценария>.sh. Содержимое файла должно быть следующим:#!/bin/sh . /ConfigurationFiles/bin/variables.sh . /ConfigurationFiles/bin/<script_file>.sh . /ConfigurationFiles/bin/post_actions.sh
autostart.json— файл формата JSON, содержащий следующее:Имя сценария и описания будут отображаться в мастере создания загрузочных носителей.
Имена переменных сценария должны быть настроены через мастер создания загрузочных носителей.
Параметры элементов управления, которые будут отображены в Bootable Media Builder для каждой переменной.
Структура autostart.json
Объект высшего уровня
Пара |
Требуется |
Описание |
|
|---|---|---|---|
Имя |
Тип значения |
||
|
строка |
Да |
Имя сценария, которое будет отображаться в Bootable Media Builder. |
|
строка |
Нет |
Описание сценария, которое будет отображаться в Bootable Media Builder. |
|
число |
Нет |
Время ожидания (в секундах) для меню загрузки перед запуском сценария. Если пара не указана, время ожидания составит десять секунд. |
|
объект |
Нет |
Любые переменные для <файл_сценария>.sh, которые вы хотите сконфигурировать посредством Bootable Media Builder. Значение должно быть указано в виде набора следующих пар: идентификатор строки переменной и объект переменной (см. в таблице ниже). |
Объект переменной
Пара |
Требуется |
Описание |
|
|---|---|---|---|
Имя |
Тип значения |
||
|
строка |
Да |
Имя переменной, использованное в <файл_сценария>.sh. |
|
строка |
Да |
Тип элемента управления, отображенный в Bootable Media Builder. Этот элемент управления используется для конфигурирования значения переменной. Список всех поддерживаемых типов см. в таблице ниже. |
|
строка |
Да |
Метка элемента управления, отображаемая над элементом управления в Bootable Media Builder. |
|
строка, если
число, если
|
Нет |
Значение по умолчанию элемента управления. Если пара не указана, значением по умолчанию будет являться пустая строка или ноль, в зависимости от типа элемента управления. Значением по умолчанию
для флажка может быть
|
|
число (не отрицательное) |
Да |
Порядок элементов
управления в Bootable
Media Builder. Чем выше
значение, тем ниже
расположен элемент
управления относительно
других элементов
управления, указанных в
autostart.json.
Изначальным значение
должен быть |
(только для
|
число |
Нет |
Минимальное значение
элемента управления
"счетчик" в поле
счетчика. Если пара не
указана, значением
будет |
(только для
|
число |
Нет |
Максимальное значение
элемента управления
"счетчик" в поле
счетчика. Если пара не
указана, значением
будет |
(только для
|
число |
Нет |
Значение шага элемента
управления "счетчик" в
поле счетчика. Если
пара не указана,
значением будет |
(только для
|
массив строк |
Да |
Значения для раскрывающегося списка. |
(для |
число |
Нет |
Указывает, может ли
значение элемента
управления быть пустым
( |
Тип элемента управления
Имя |
Описание |
|---|---|
|
Текстовое поле высотой в одну строку и без ограничений ширины, используемое для введения или редактирования коротких строк. |
|
Текстовое поле высотой в несколько строк и без ограничений ширины, используемое для введения или редактирования коротких строк. |
|
Текстовое поле высотой в одну строку и без ограничений ширины, используемое для безопасного введения пароля. |
|
Текстовое поле высотой в одну строку, с допустимым введением только числовых значений, используемое для введения или редактирования чисел. |
|
Текстовое поле высотой в одну строку, с допустимым введением только числовых значений, используемое для введения или редактирования чисел, с элементом управления "счетчик". Также называется полем счетчика. |
|
Стандартный выпадающий список с фиксированным набором предварительно указанных значений. |
|
Поле флажка с двумя положениями — флажок установлен и флажок не установлен. |
Указанный ниже пример autostart.json содержит все возможные типы элементов управления, которые могут быть использованы для конфигурирования переменных для файла <файл_сценария>.sh.
{
"displayName": "Имя автоматически запускаемого сценария",
"description": "Описание автоматически запускаемого сценария",
"variables": {
"var_string": {
"displayName": "VAR_STRING",
"type": "string",
"order": 1,
"description": "Элемент управления 'string':",
"default": "Hello, world!"
},
"var_multistring": {
"displayName": "VAR_MULTISTRING",
"type": "multiString",
"order": 2,
"description": "Элемент управления 'multiString':",
"default": "Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit."
},
"var_number": {
"displayName": "VAR_NUMBER",
"type": "number",
"order": 3,
"description": "Элемент управления 'number':",
"default": 10
},
"var_spinner": {
"displayName": "VAR_SPINNER",
"type": "spinner",
"order": 4,
"description": "Элемент управления 'spinner':",
"min": 1,
"max": 10,
"step": 1,
"default": 5
},
"var_enum": {
"displayName": "VAR_ENUM",
"type": "enum",
"order": 5,
"description": "Элемент управления 'enum':",
"items": [
"первый",
"второй",
"третий"
],
"default": "второй"
},
"var_password": {
"displayName": "VAR_PASSWORD",
"type": "password",
"order": 6,
"description": "Элемент управления 'password':",
"default": "qwe"
},
"var_checkbox": {
"displayName": "VAR_CHECKBOX",
"type": "checkbox",
"order": 7,
"description": "Элемент управления 'checkbox'",
"default": 1
}
}
}