Spec-Zone.ru › MySQL Enterprise Backup 4.1

16.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 таблицы.

      Если резервное копирование блокирует экземпляр MySQL (например, с помощью оператора FLUSH TABLES WITH READ LOCK), отчёты о ходе выполнения не будут отправлены в таблицу mysql.backup_progress, пока экземпляр MySQL не будет разблокирован.

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

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

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

    Если для --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 (килобайты), либо байты (1MB=1024KB и 1KB=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-4.1-en/backup-progress-report-options.html

Spec-Zone.ru

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