Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Помести имя ВМ в имя резервной копии

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Помести имя ВМ в имя резервной копии, Proxmox Виртуальная Среда
     
    johjoh
    Guest
    #1
    0
    20.05.2016 15:14:00
    Привет, можно ли модифицировать скрипт vzdump, чтобы в названии резервной копии добавлялось имя виртуальной машины, например: vzdump-qemu-100-VMname-2016_05_20-15_10_00.vma.lzo? Когда сервер терпит крах или при очистке старых резервных копий, или при управлении дисковым пространством для резервных копий, сложно понять, к чему относится эта резервная копия. Можешь ли ты реализовать эту функцию в будущих релизах Proxmox? Спасибо.
     
     
     
    Peter123
    Guest
    #2
    0
    08.06.2020 11:26:00
    Говоря о простом и неумном коде Мы используем rclone для загрузки ВМ в разные облачные хранилища, и теперь в конце вашего скрипта переименования добавили следующее: Код: #!/bin/bash

    if [ "$1" = "backup-end" ]; then

    rclone copy /path-to-dump cloud-storage:path-for-dumps --config /root/.config/rclone/rclone.conf

    fi Таким образом, мы даже получаем уведомление в подтверждающем письме о том, сработала ли загрузка в облако.
     
     
     
    Zoltan Bakcsa
    Guest
    #3
    0
    20.12.2017 23:48:00
    Я бы хотел, чтобы имя виртуальной машины было указано в имени файла резервной копии. Идентификатор виртуальной машины абсолютно ничего не говорит о резервной копии. Более того, использование только идентификатора ВМ в резервных копиях может привести к потере данных. Рассмотрим следующую ситуацию: у меня есть ВМ с идентификатором 100, я создаю резервные копии ежедневно и храню 2 версии. Однажды я решаю удалить эту ВМ и создать новую, которая получает тот же идентификатор, что и предыдущая. Конечно, я использую другое имя. Через 2 дня, когда менеджер попросит меня восстановить оригинальную ВМ, я смогу только извиниться, потому что служба резервного копирования уже их удалила. Чтобы избежать подобной ситуации, необходимо ручное конфигурирование. Использование скрипта хука - это хорошее и быстрое решение проблемы отсутствия имени ВМ. Однако, если я переименую файл резервной копии на этапе окончания резервного копирования, значение "максимальное количество резервных копий" никогда не будет достигнуто, так как модуль VZDump все еще ищет оригинальное имя файла (без имени). Это приводит к двум последствиям: установка значения максимальных резервных копий на хранилище не имеет смысла (это создаст бесконечное количество резервных копий) и ротация резервных копий должна быть дублирована в скрипте хука. Я не против написать свой собственный скрипт хука, но было бы очень здорово, если бы VZDump заранее знал, какое имя использовать для резервной копии.
     
     
     
    fireon
    Guest
    #4
    0
    21.12.2017 07:51:00
    Почему? Нажатие на кнопку "показать настройки" показывает имя виртуальной машины и все детали конфигурации. Но да, это было бы тоже неплохо.
     
     
     
    LnxBil
    Guest
    #5
    0
    21.12.2017 09:50:00
    Несколько замечаний по поводу больших установок: * Имена виртуальных машин используются несколько раз в зависимости от их сети и назначения (например, ns01, ldap, mail и т.д.) * Идентификаторы уникальны и должны быть сгруппированы в пуле в зависимости от их логической среды (например, отделы, подсети и т.д.), также по номерам, 1xxxx для этого, 2xxxx для того. * Резервные копии обычно архивируются и управляются внешне (не на кластере) * Идентификаторы не должны быть повторно использованы, если предыдущие резервные копии не были обработаны после удаления виртуальной машины.
     
     
     
    ojaksch
    Guest
    #6
    0
    28.01.2018 08:25:00
    [УСТАРЕЛО - см. ниже] Эмм... я исправил скрипт до актуальной версии, которая включает запрос maxfiles: и удалил этот пост вместо редактирования. Я дурак. Код: #!/bin/bash

    cd "${DUMPDIR}"
    MAXFILES=$(grep "maxfiles:" /etc/vzdump.conf | tr -d " " | awk -F":" '{print $2}')

    case "${1}" in
      backup-end)
          VM_FNAM_OLD=$(basename ${TARFILE})
          VM_FNAM_NEW=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
          VM_FNAM_DUP=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
          mv "${VM_FNAM_OLD}" "${VM_FNAM_NEW}"
          NUMFILES=$(ls -1 ${VM_FNAM_DUP}*.tar.* | wc -l)
          if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then
              ls ${VM_FNAM_DUP}*.tar.* | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm
              echo "-- maxfiles установлено на ${MAXFILES}, но файлы: ${NUMFILES}. Удаляем самые старые."
          fi
          ;;
      log-end)
          LOG_FNAM_OLD=$(basename ${LOGFILE})
          LOG_FNAM_NEW=$(basename ${LOGFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
          LOG_FNAM_DUP=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
          mv "${LOG_FNAM_OLD}" "${LOG_FNAM_NEW}"
          NUMFILES=$(ls -1 ${LOG_FNAM_DUP}*.log | wc -l)
          if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then ls ${LOG_FNAM_DUP}*.log | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm; fi
          ;;
    esac
     
     
     
    Peter123
    Guest
    #7
    0
    08.06.2020 10:00:00
    Мы сохраняем дампы в новом формате .zst. Не подскажет ли кто, как нам нужно адаптировать скрипт? Заменить tar на zst не помогло. Спасибо.
     
     
     
    ojaksch
    Guest
    #8
    0
    08.06.2020 10:45:00
    Приятно видеть, что мой скрипт все еще полезен. ИСПРАВЛЕНИЕ: Но я не вижу причин, почему старый код не должен работать, PVE отправляет полное имя своего TAR-файла, следовательно, код не должен заботиться о расширении файла. Вот актуальная версия, которая все еще работает, включая zstd: (У меня проблемы с идентификаторами в предварительном просмотре кода. Если есть сомнения, пожалуйста, скачайте, переименуйте и используйте вложение) Код: #!/bin/bash

    # backup-start | backup-end | backup-abort | log-end | pre-stop | pre-restart | post-restart | job-start | job-end | job-abort

    cd "${DUMPDIR}"
    MAXFILES=$(grep "maxfiles:" /etc/vzdump.conf | tr -d " " | awk -F":" '{print $2}')

    case "${1}" in
     backup-end)
    VM_FNAM_OLD=$(basename ${TARFILE})
    VM_FNAM_NEW=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
    VM_FNAM_DUP=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
    VM_TYPE=$(basename ${TARFILE} | awk -F "-" '{print $2}')
    mv "${VM_FNAM_OLD}" "${VM_FNAM_NEW}"

    case "${VM_TYPE}" in
    lxc)
    NUMFILES=$(ls -1 ${VM_FNAM_DUP}*.tar* | wc -l)
    if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then
    echo "-- maxfiles установлено на ${MAXFILES}, но найдены ${NUMFILES}. Удаляем более старые."
    ls ${VM_FNAM_DUP}*.tar* | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm
    fi
    ;;
    qemu)
    NUMFILES=$(ls -1 ${VM_FNAM_DUP}*.vma* | wc -l)
    if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then
    echo "-- maxfiles установлено на ${MAXFILES}, но найдены ${NUMFILES}. Удаляем более старые."
    ls ${VM_FNAM_DUP}*.vma* | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm
    fi
    ;;
    esac
    ;;

    log-end)
    LOG_FNAM_OLD=$(basename ${LOGFILE})
    LOG_FNAM_NEW=$(basename ${LOGFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
    LOG_FNAM_DUP=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
    mv "${LOG_FNAM_OLD}" "${LOG_FNAM_NEW}"
    NUMFILES=$(ls -1 ${LOG_FNAM_DUP}*.log | wc -l)
    if [[ $MAXFILES =~ ^-?[0-9]+$ ]] && [ ${NUMFILES} -gt ${MAXFILES} ]; then ls ${LOG_FNAM_DUP}*.log | head -n $((${NUMFILES}-${MAXFILES})) | xargs rm; fi
    ;;

    esac
     
     
     
    Peter123
    Guest
    #9
    0
    08.06.2020 10:56:00
    Отлично. Сработало сразу. Большое спасибо.
     
     
     
    ojaksch
    Guest
    #10
    0
    08.06.2020 10:59:00
    Рад слышать. По-прежнему простой и примитивный код, но постоянно улучшается и работает уже много лет.
     
     
     
    John Allison
    Guest
    #11
    0
    30.06.2020 12:56:00
    Фантастический маленький скрипт! Аккуратный и neat. Большое спасибо. Быстрый вопрос - нужно ли перезагружать Proxmox, чтобы изменения вступили в силу? У нас есть несколько хостов на 5.4, которые выдают ошибку после применения скрипта, но машина на 6.2, похоже, в порядке.
     
     
     
    Peter123
    Guest
    #12
    0
    24.10.2020 10:42:00
    Может быть, одна небольшая вещь: если вы хотите восстановить переименованные резервные файлы через графический интерфейс, Proxmox не распознает формат и отказывается восстанавливать. Поэтому вам нужно вручную переименовывать резервные файлы каждый раз перед восстановлением. Согласно Proxmox, ожидается следующее: "В данный момент название должно начинаться с vzdump-, затем должно быть qemu, lxc или openvz, затем номер VMID." https://forum.proxmox.com/threads/e...ormat-and-compression-type.70084/#post-324541 Это можно встроить в скрипт без особых усилий? Спасибо еще раз.
     
     
     
    Peter123
    Guest
    #13
    0
    02.11.2020 10:22:00
    Очевидно, Proxmox позаботился о том, чтобы с помощью патча адаптированный формат теперь можно было использовать для прямого восстановления. Спасибо, Proxmox.
     
     
     
    Peter123
    Guest
    #14
    0
    02.11.2020 17:12:00
    Странно. Вдруг восстановление ВМ с другим именем больше не сработало. Пожалуй, притерся слишком рано.
     
     
     
    Peter123
    Guest
    #15
    0
    08.11.2020 09:54:00
    Еще одна небольшая вещь: после того как резервные копии были переименованы, Proxmox больше не удаляет их автоматически после установленного количества (Центр обработки данных - Хранилище - "макс. резервные копии"). Можно ли это изменить в скрипте?
     
     
     
    Peter123
    Guest
    #16
    0
    22.11.2020 09:48:00
    У кого-нибудь есть идея, как это сделать?
     
     
     
    andyn
    Guest
    #17
    0
    10.08.2021 21:54:00
    Кажется, что этот скрипт больше не работает в PVE 7. Окно резервного копирования показывает следующие строки: INFO: завершение работы kvm после задания резервного копирования INFO: размер архивного файла: 10.86GB INFO: basename: отсутствует операнд INFO: Попробуйте 'basename --help' для получения дополнительной информации. Я определил, что $target дает полный путь к файлу резервной копии, но я не могу заставить это работать. Когда я заменяю $target на $(basename ${TARFILE}), я получаю нулевое значение в новой переменной имени. Пример: Замена кода: case "${1}" in

       backup-end)
       VM_FNAM_OLD=$(basename ${TARFILE})
       VM_FNAM_NEW=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
       VM_FNAM_DUP=$(basename ${TARFILE} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
       VM_TYPE=$(basename ${TARFILE} | awk -F "-" '{print $2}')
       mv "${VM_FNAM_OLD}" "${VM_FNAM_NEW}" на код: case "${1}" in

       backup-end)
           VM_FNAM_OLD=$(${target})
           VM_FNAM_NEW=$(${target} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'-"$4"-"$5}')
           VM_FNAM_DUP=$(${target} | awk -F "-" '{print $1"-"$2"-"$3"-'${HOSTNAME}'"}')
           VM_TYPE=$(${target} | awk -F "-" '{print $2}')
           mv "${VM_FNAM_OLD}" "${VM_FNAM_NEW}" приводит к следующему в окне прогресса резервного копирования: INFO: передано 50.00 GiB за 55 секунд (930.9 MiB/с) INFO: завершение работы kvm после задания резервного копирования INFO: размер архивного файла: 2.44GB INFO: mv: не удается получить информацию о '': Нет такого файла или директории INFO: Завершено резервное копирование VM 4684 (00:00:59) INFO: Резервное копирование завершено 2021-08-10 20:36:54
     
     
     
    ojaksch
    Guest
    #18
    0
    11.08.2021 09:45:00
    Я помню, что команда PVE что-то изменила в заданных параметрах (и/или что-то еще), но я больше не использую свой собственный скрипт с тех пор, как появился PBS. Тем не менее, я посмотрю на свой скрипт позже в тот день.
     
     
     
    ojaksch
    Guest
    #19
    0
    27.07.2020 13:26:00
    Нет никаких новых замечаний по моему скрипту переименования, но я сделал небольшое дополнение в соответствии с новым PBS (Proxmox Backup Server).
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры