今日天气
  1. 博客/

PVE AutoSnap 工具使用

·270 字·1 分钟· ·
Cloud PVE
Johny
作者
Johny
熟练的 云原生搬砖师
Table of Contents

项目介绍
#

安装和使用
#

wget https://github.com/Corsinvest/cv4pve-autosnap/releases/download/v1.14.8/cv4pve-autosnap-linux-x64.zip

unzip cv4pve-autosnap-linux-x64.zip

mv cv4pve-autosnap /usr/bin/

chmod a+x /usr/local/bin/cv4pve-autosnap

使用
#

  • 备份快照

    SNAP_LIST="111,101"
    PVE_USER='root@pam'
    PVE_PASSWD='xxx'
    PVE_HOST='192.168.8.19'
    
    for vmid in ${SNAP_LIST//,/ };do
        cv4pve-autosnap --host=${PVE_HOST} \
        --username=${PVE_USER} \
        --password=${PVE_PASSWD} --vmid=${vmid} \
        snap --label=daily --keep=3
    done
    
  • 查看快照

    SNAP_LIST="111,101"
    PVE_USER='root@pam'
    PVE_PASSWD='xxx'
    PVE_HOST='192.168.8.19'
    
    cv4pve-autosnap --host=${PVE_HOST} \
        --username=${PVE_USER} \
        --password=${PVE_PASSWD} \
        --vmid=111 status
    

与 Gitlab 集成
#

  • Script.pve-snap 文件如下

    # Script.pve-snap 文件如下
    #!/bin/bash
    #Filename:    Script.pve-snap
    #Revision:    v1
    #Date:        2023/9/25
    #Author:      yangzun
    #Email:       yangzun@treesir.pub
    #Description: PVE VM SNAPSHOT
    
    SNAP_LIST=${SNAP_LIST-'101'}
    PVE_USER=${PVE_USER-'root@pam'}
    PVE_PASSWD=${PVE_PASSWD-'12345'}
    PVE_HOST=${PVE_HOST-'192.168.8.19'}
    
    
    function install_autosnap(){
      wget https://github.com/Corsinvest/cv4pve-autosnap/releases/download/v1.14.8/cv4pve-autosnap-linux-x64.zip
      unzip cv4pve-autosnap-linux-x64.zip
      mv cv4pve-autosnap /usr/bin/
      chmod a+x /usr/bin/cv4pve-autosnap
    }
    
    
    if [ "${1}" == 'exec' ];then
      install_autosnap
      for vmid in ${SNAP_LIST//,/ };do
          cv4pve-autosnap --host=${PVE_HOST} \
          --username=${PVE_USER} \
          --password=${PVE_PASSWD} --vmid=${vmid} \
          snap --label=daily --keep=3
      done
    elif [ "${1}" == 'plan' ];then
      install_autosnap
      for vmid in ${SNAP_LIST//,/ };do
          cv4pve-autosnap --host=${PVE_HOST} \
          --username=${PVE_USER} \
          --password=${PVE_PASSWD} --vmid=${vmid} \
          status
      done
    fi
    
  • CI 文件如下

    variables:
      extends: .default_vars
    
    # Run test job always
    .plan:
      stage: plan
      extends:
        - .schedule_trigger_disble
    
    # Run build job only on a default branch when triggered manually
    .exec:
      stage: exec
      extends:
        - .master_schedule_manual_trigger
    
    .extends_group:
      extends:
        - .runner_tag
        - .harbor_auth_vars
        - .load_function_before_jobs
        - .script_exec_vars
        - .nexus_auth_vars
    
    .plan_script: &plan_script
      extends:
        - .plan
        - .extends_group
      script:
        - set -- $CI_JOB_NAME
        - chmod a+x Script.$1
        - ./Script.$1 plan
    
    .exec_script: &exec_script
      extends:
        - .exec
        - .extends_group
      script:
        - set -- $CI_JOB_NAME
        - chmod a+x Script.$1
        - ./"Script.$1" exec
    
    # 预运行脚步
    pve-snap plan: *plan_script
    
    # 执行脚步
    pve-snap exec: *exec_script
    

    image-20231005164932661

    image-20231005165104628

相关文章

Istio in Action 学习笔记
·40593 字·82 分钟·
Istio Istio ServiceMesh
站点开始使用 Grafana loki 统计分析
·4828 字·10 分钟·
Loki SRE DevOps Logging
Gitea Actions ActRunner 基于 Systemd 部署安装
·897 字·2 分钟·
SRE DevOps linux
Sonatype Nexus Repository(Nexus3) 私服文件下载至本地 - (使用进阶篇 一)
·729 字·2 分钟·
SRE nexus3 DevOps
K8S 使用 CronJob 备份 MySQL 数据至 MInIO
·527 字·2 分钟·
SRE backup mysql
Linux 使用 LVM 来扩充分区
·143 字·1 分钟·
SRE linux lvm