#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


# Erstellt ein neuen Snap
newSnap() {

    d=$(date '+%s')
    pct snapshot $1 Snap_$d --description "Auto Snapshot ssh login"
}

if [[ $# > 0 ]]
then

    if [ $1 == -new ]
    then
        if [ $# > 1 ]
        then
            newSnap $2 >> /dev/null 2>&1
        else
            echo "Es felt die VMID"
        fi
    elif [ $1 == -delete ]
    then
        toDeleteSnap
    else
        echo "Es würde keine Option mit dem Namen gefunden"
    fi
else
    echo "Es wird mindetsetsns 1ne Option erwartet"
fi


# Erst Aufruf von toDeleteSnap
toDeleteSnap() {

    listvm=$(pct list | grep -E [0-9]{3} | tr "\n" " ")
    t=0
    tz=1
    for vm in ${listvm[@]}; do
        t=$(($t+1))
        if [[ $t == $tz ]]
        then
            tz=$(($tz+6))
            checkSnap $vm
        fi
    done
}



# Check auf zu löschene Snap
checkSnap () {

    listSnapName=$(pct listsnapshot $1 | grep -o -E Snap_[0-9]{10} )
    # Maximales Alter des Snap in Minuten
    erase_time_in_minutes=$(1440)
    erase_time=$(( $erase_time_in_minutes * 60))
    timestamp_now=$(date +%s)
    timestamp_now=$(( $timestamp_now - $erase_time ))
    for snap in ${listSnapName[@]}; do
        timestamp_snap=$(echo $snap | cut -d "_" -f2 )
        if [[ $timestamp_snap <    $timestamp_now ]]
        then
            deleteSnap $1 $snap
        fi

    done

}



# Löschen von Snap
deleteSnap() {

    pct delsnapshot $1 $2 >> /dev/null 2>&1
    echo Der Snapshot mit dem Namen: $2 für die VMID: $1 würde gelöscht

}




fi

