Spec-Zone.ru › MySQL Enterprise Backup 9.2

20.12 Параметры отчёта о ходе выполнения резервного копирования

Существуют два варианта управления функцией отчёта о ходе выполнения mysqlbackup: --show-progress и --progress-interval:

  • --show-progress[={stderr|stdout|file:FILENAME|fifo:FIFONAME|table|variable}]

    Формат командной строки --show-progress[=destinations]
    Тип Перечисление
    Допустимые значения

    stderr

    stdout

    file:FILENAME

    fifo:FIFONAME

    table

    variable

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

    Аргумент параметра определяет место назначения, куда отправляются индикаторы прогресса:

    • stderr: Индикаторы прогресса отправляются в поток стандартных ошибок. Отчёт вставлен в сообщение INFO mysqlbackup с отметкой времени. Например:

       130607 12:22:38 mysqlbackup: INFO: Progress: 191 of 191 MB; state: Completed
    • stdout: Индикаторы прогресса отправляются в поток стандартного вывода. После каждого индикатора прогресса печатается единственный символ новой строки.

    • file:FILENAME: Индикаторы прогресса отправляются в файл. Каждый новый отчёт о ходе выполнения перезаписывает файл, и он содержит самый последний индикатор прогресса, после которого следует один символ новой строки.

    • fifo:FIFONAME: Индикаторы прогресса отправляются в FIFO файловой системы. После каждого индикатора прогресса печатается единственный символ новой строки.

      Предупреждение

      Если нет процесса, считывающего FIFO, процесс mysqlbackup зависает в конце выполнения.

    • table: Индикаторы прогресса отправляются в таблицу mysql.backup_progress. Это требует подключения к серверу MySQL и, следовательно, работает только при резервном копировании работающего экземпляра MySQL. mysqlbackup сначала добавляет одну строку отчёта о ходе выполнения в таблицу mysql.backup_progress, а затем обновляет строку с последним индикатором прогресса. Индикатор прогресса хранится в столбце current_status таблицы.

    • variable: Индикаторы прогресса отправляются в системную переменную backup_progress.

      Предупреждение

      Системная переменная backup_progress ещё не определена для сервера MySQL. Пользователям необходимо создать собственный плагин для определения переменной. Для получения дополнительной информации о пользовательских плагинах см. Интерфейс программирования приложений MySQL Plugin API.

    Если для параметра --show-progress не указан аргумент, индикаторы прогресса отправляются в stderr.

    Индикаторы прогресса можно отправить на несколько мест, указав параметр --show-progress несколько раз в командной строке. Например, следующая командная строка отображает ход выполнения команды резервного копирования в stderr и в файл, названный meb_output:

    mysqlbackup --show-progress --show-progress=file:meb_output --backup-dir=/full-backup
                backup

    Индикаторы прогресса — это короткие строки, показывающие, как далеко продвинулось выполнение операции mysqlbackup. Индикатор прогресса состоит из одного или нескольких счётчиков, измеряющих ход выполнения операции. Например:

    Progress: 100 of 1450 MB; state: Copying .ibd files

    Это показывает, что до сих пор скопировано или обработано 100 мегабайт из 1450 мегабайт, и mysqlbackup в настоящее время копирует файлы данных InnoDB (.ibd файлов).

    Строка индикатора прогресса начинается с Progress:, за которой следуют один или несколько счётчиков, измеряющих прогресс. Если присутствует несколько счётчиков, они разделены точкой с запятой. К разным типам счётчиков относятся:

    • Счётчик общего объёма данных: он всегда является первым счётчиком в индикаторе прогресса. Он имеет формат:

      DATA of TOTAL UNIT

      DATA и TOTAL — целые беззнаковые десятичные числа, а UNIT — либо MB (мегабайты), KB (килобайты), либо байты (1 МБ = 1024 КБ и 1 КБ = 1024 байта).

      Счётчик общего объёма данных имеет два немного разных значения в зависимости от операции mysqlbackup:

      • Количество скопированных или обработанных данных и общее количество данных, которые необходимо скопировать или обработать в ходе операции mysqlbackup. Например:

        Progress: 200 of 1450 MB

        Когда операция выполняется, например, для backup, индикатор означает, что 200 МБ скопировано из 1450 МБ. Но когда операция выполняется, например, для validate или incremental, это означает, что обработано 200 МБ из 1450 МБ.

      • Общее количество скопированных или обработанных данных и оценка общего количества, которое будет скопировано к концу операции. Оценка обновляется в соответствии с данными на сервере по мере выполнения команды.

        Для некоторых операций, таких как backup, невозможно точно определить количество данных, которые будут скопированы или обработаны в начале выполнения. Поэтому счётчик общего объёма данных показывает приблизительный объём общих данных для резервного копирования. Оценка обновляется в процессе выполнения команды. Например:

        Progress: 200 of 1450 MB

        следуют:

        Progress: 200 of 1550 MB

        после добавления 100 МБ данных на сервер.

        В случае успешной операции окончательный индикатор прогресса отображает фактическое количество скопированных данных в конце операции.

    • Счётчик сжатия: он указывает скользящее среднее значение коэффициента сжатия, которое определяется для каждого блока данных, сжатых как (orig_size - compressed_size) / orig_size. Например:

      compression: 40%

      Это означает, что после сжатия данные занимают на 40% меньше места (вычислено как среднее по последним 10 блокам данных).

      Счётчик сжатия включён в индикатор прогресса, если для операции mysqlbackup включен параметр --compress. Значение счётчика сжатия не определено до тех пор, пока не будет сжато не менее 10 блоков данных. Неопределённое значение счётчика обозначается '-' в счётчике:

      compression: -
    • Счётчик состояния: это краткое описание основного шага, который в настоящее время выполняет команда. Например:

       state: Copying InnoDB data
       state: Waiting for locks 
       state: Copying system tablespace
       state: Copying .ibd files
       state: Copying non-InnoDB data
       state: Completed 

    Вот несколько примеров индикаторов прогресса с разными счётчиками:

    Progress: 300 of 1540 MB; state: Waiting for locks 
    Progress: 400 of 1450 MB; state: Copying InnoDB data: compression: 30%

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

  • --progress-interval=SECONDS

    Формат командной строки --progress-interval=SECONDS
    Тип Числовой
    Значение по умолчанию 2
    Минимальное значение 1
    Максимальное значение 100000
    Единица измерения секунда

    Интервал между отчётами о ходе выполнения в секундах. Значение по умолчанию — две секунды. Наименьший интервал — 1 секунда, а наибольший разрешённый интервал — 100000 секунд.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-enterprise-backup-9.2-en/backup-progress-report-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API