virtualbox script snapshot periodico

Installazione, configurazione e uso di programmi e strumenti.
Scrivi risposta
valerius14
Prode Principiante
Messaggi: 52
Iscrizione: mercoledì 3 agosto 2016, 10:30
Desktop: lxde
Distribuzione: ubuntu 16.04 LTS
Sesso: Maschile

virtualbox script snapshot periodico

Messaggio da valerius14 »

Salve,

Come da titolo, dopo essere riuscito a far avviare virtualbox in automatico sarebbe bello poter fare una copia di backup quotidiana settimanale della macchina virtuale.

il comando per effettuare uno snapshot é: VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot'

il comando per cancellare uno snapshot é: VBoxManage snapshot 'nomemacchinavirutale' delete 'nomesnapshot'

Come faccio ad impostare l'esecuzione quotidiana, settimanale?

In più sarebbe il caso che al lancio del comando di snapshot si creino snapshot incrementali poi automaticamente alcuni possano essere cancellati ad esempio:

snapshot quotidiani di una settimana, all'inizio della nuova settimana salvare il primo snapshot e cancellare quelli della settimana precedente.

VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot1' lun
VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot2' mar
VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot3' mer
VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot4' gio
VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot5' ven
VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot6' sab
VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot7' dom
VBoxManage snapshot 'nomemacchinavirutale' take 'nomesnapshot1' lun

VBoxManage snapshot 'nomemacchinavirutale' delete 'nomesnapshot1,2,3,4,5,6,7'

qualcuno che ha piu esperienza... fattibile come cosa? come lo faccio? script in /etc/init.d/ ?
Avatar utente
bingel
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4026
Iscrizione: lunedì 3 aprile 2006, 10:17

Re: virtualbox script snapshot periodico

Messaggio da bingel »

Fai uno script e lo metti in "/etc/cron.daily" o weekly

EDIT: salvo diverse esigenze suggerisco di tenere solo gli ultimi due snapshot.
Avatar utente
bingel
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4026
Iscrizione: lunedì 3 aprile 2006, 10:17

Re: virtualbox script snapshot periodico

Messaggio da bingel »

Possibile soluzione:

Elimina snapshot.old
Rinomina snapshot in snapshot.old
Esegui snapshot
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: virtualbox script snapshot periodico

Messaggio da thece »

:ciao:

cerco di chiarirti qualche concetto base.

Uno snapshot di una VM non è un backup, ma una fotografia dello stato interno della VM in un certo istante di tempo.
Se nel tempo effettui più snapshot della VM potrai riportare lo stato corrente della VM allo stato in cui hai scattato lo snapshot. In questo modo potrai proteggerla dai malfunzionamenti sullo stato interno della VM, ma non potrai proteggerla (ad esempio) dalla corruzione dei file su cui è memorizzata la VM. Per proteggerla da questi guasti devi fare un backup della VM ... di tutta la VM ... ossia di tutti i suoi file.

La directory /etc/init.d è la directory preposta a contenere gli script utilizzati durante la fase di avvio e di arresto (cambio di runlevel) del sistema operativo. Qualsiasi altro script di manutenzione del sistema dovrebbe essere memorizzato altrove. Ad esempio io uso la directory /scripts.

Lo strumento preposto alla schedulazione temporale delle attività, come ad esempio richiamare uno script ogni tot di tempo, è cron.
Avatar utente
bingel
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4026
Iscrizione: lunedì 3 aprile 2006, 10:17

Re: virtualbox script snapshot periodico

Messaggio da bingel »

...in effetti io non me ne intendo granché dell'argomento (non ho mai approfondito il discorso snapshot e di solito copio l'intera cartella con la VM) e credo di aver sovrapposto i due concetti.


...resta tuttavia valido il discorso di cron.
Avatar utente
steff
Moderatore Globale
Moderatore Globale
Messaggi: 40358
Iscrizione: domenica 18 febbraio 2007, 19:48
Desktop: LXQt+labwc
Distribuzione: Arch; Debian; Ubuntu Server
Sesso: Maschile
Località: Toscana
Contatti:

Re: virtualbox script snapshot periodico

Messaggio da steff »

Sposto in applicazioni, visto che è universale per vbox.
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
valerius14
Prode Principiante
Messaggi: 52
Iscrizione: mercoledì 3 agosto 2016, 10:30
Desktop: lxde
Distribuzione: ubuntu 16.04 LTS
Sesso: Maschile

Re: virtualbox script snapshot periodico

Messaggio da valerius14 »

mmm io vorrei semplicemente salvare uno stato della macchina virtuale nel caso possano andare compromessi i suoi file.

Ad esempio vm windows con un gestionale all'interno. Da quello che ho capito io nel caso io oggi effettuo uno snapshot e domani quel windows che per un caso ipotetico e raro prenda un virus possa essere ripristinato con lo stato precedente tramite lo snapshot e possa tornare ad essere utilizzato con i suoi file ed il suo gestionale senza perdere tutti i dati.

lo snapshot potrei effettuarlo a macchina virtuale accesa, il backup vero e proprio/clone della macchina no, e mi occuperebbe spazio e tempo essendo la partizione della macchina virtuale di 200gb inoltre nello script con il backup dell intera macchina dovrei programmare anche una chiusura della macchina virtuale, la copia, la riapertura della macchina virtuale... uno script infinito...

Credo almeno per quello che ho capito rispetto a come funziona lo snapshot che lo snapshot faccia al caso mio... tanto la vm ha una sua partizione in raid1.

Nel caso un giorno bisognerebbe spostarla si stopperebbe e clonerebbe l'interra macchina virtuale.

cron come funziona? stessa storia bin/bash? apro editor e compilo?
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: virtualbox script snapshot periodico

Messaggio da thece »

valerius14 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4951874#p4951874][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: mmm io vorrei semplicemente salvare uno stato della macchina virtuale nel caso possano andare compromessi i suoi file.
OK, strategia lecita ma non è un backup. Se la VM si corrompe (intendo uno dei file che la compongono) perdi tutto.
Ma quale script infinito. Dai, è una banale copia di una directory
Non ho capito se il RAID è esterno o interno alla VM. Se è interno alla VM, in questo caso, a mio avviso è del tutto inutile: non da alcun beneficio significativo, ne di sicurezza ne di prestazioni.
Secondo te le pagine del WIKI e della documentazione in generale cosa vengono scritte a fare? Prima leggi la documentazione e poi in caso di problemi se ne riparla. Buona lettura
Ultima modifica di thece il venerdì 20 gennaio 2017, 14:39, modificato 1 volta in totale.
valerius14
Prode Principiante
Messaggi: 52
Iscrizione: mercoledì 3 agosto 2016, 10:30
Desktop: lxde
Distribuzione: ubuntu 16.04 LTS
Sesso: Maschile

Re: virtualbox script snapshot periodico

Messaggio da valerius14 »

ovviamente il raid e esterno alla vm
il problema e come gestisco sia il salvataggio che la cancellazione programmata? forse e meglio gestirlo con la clonazione della macchina rispetto lo snapshot... cerco di spiegarmi meglio...

lunedi salva1
martedi salva2
mercoledi cancella salva1 e salva1
giovedi cancella salva2 e salva2

se faccio partire crontab da mercoledi ma non e passato per lunedi, come operazione dovra cancellare salva1 ma come lo cancella che essendo partito di lunedi non ha mai potuto salvarlo? non lo cancella ma fa lo stesso la seconda operazione programmata cioe salvare comunque una copia della macchina attuale?


più o meno credo cosi vada bene

Codice: Seleziona tutto

# m h  dom mon dow   command
   2  0   *  *  1     VBoxManage controlvm win savestate
 15  0   *  *  1     /root/clonevm.sh
    0  4   *  *  1     VBoxManage startvm win --type headless
    2  0   *  *  2     VBoxManage controlvm win savestate
  15  0   *  *  2     /root/clonevm1.sh
     0  4   *  *  2     VBoxManage startvm win --type headless
  15  4   *  *  2     /root/delclonevm.sh
    2  0   *  *  3     VBoxManage controlvm win savestate
  15  0   *  *  3     /root/clonevm.sh
    0  4   *  *  3     VBoxManage startvm win --type headless
  15  4   *  *  3     /root/delclonevm1.sh

/root/clonevm.sh

Codice: Seleziona tutto

#!/bin/bash

/home/administrator/VirtualBox VMs/win/
VBoxManage clonevdi win.vdi win1.vdi
/root/delclonevm.sh

Codice: Seleziona tutto

#!/bin/bash

/home/administrator/VirtualBox VMs/win/
sudo rm win1.vdi
C'e un modo per sapere se funziona senza attendere le 6 di domani mattina?
Avatar utente
bingel
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4026
Iscrizione: lunedì 3 aprile 2006, 10:17

Re: virtualbox script snapshot periodico

Messaggio da bingel »

Non è così che devi fare.

Di script ne fai uno solo e ci metti tutte le operazioni che servono. A quel punto metti lo script in /etc/cron.daily e lo script verrà eseguito quotidianamente. Se il PC dovesse essere spento, verrà eseguito non appena riacceso.

Per esempio:

Elimina salvataggio_vecchio
Rinomina salvataggio in salvataggio_vecchio
Esegui salvataggio

In tal modo, tutti i giorni eseguirai un nuovo salvataggio e rinominerai quello del giorno prima in vecchio salvataggio. Risultato: avrai sempre un salvataggio per il giorno corrente e per quello precedente.
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: virtualbox script snapshot periodico

Messaggio da thece »

valerius14 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4951924#p4951924][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: il problema e come gestisco sia il salvataggio che la cancellazione programmata? forse e meglio gestirlo con la clonazione della macchina rispetto lo snapshot ...
Secondo me, per il tuo specifico caso, gli snapshot della VM non sono una soluzione ottimale. Meglio un backup dell'intera VM (*)

Problemone ... problemone ... di programmazione ;)
Prova a far girare questo script più volte e vedi se ti fa scattare in mente qualche idea

Codice: Seleziona tutto

#!/bin/bash

VM_BACKUP_DIR="/temp/backup"

WHICH_VM_TO_BACKUP_FILE="which.txt"
WHICH_VM_TO_BACKUP=""

if [[ ! -d "$VM_BACKUP_DIR" ]]; then
        echo "$VM_BACKUP_DIR doesn't exists"
        exit 1
fi

if [[ ! -f "$VM_BACKUP_DIR/$WHICH_VM_TO_BACKUP_FILE" ]]; then
        echo "BACKUP_01" > "$VM_BACKUP_DIR/$WHICH_VM_TO_BACKUP_FILE"
fi

WHICH_VM_TO_BACKUP=$(cat "$VM_BACKUP_DIR/$WHICH_VM_TO_BACKUP_FILE")

echo $WHICH_VM_TO_BACKUP

if [[ $WHICH_VM_TO_BACKUP == "BACKUP_01" ]]; then

        # ... do some work on BACKUP_01

        echo "BACKUP_02" > "$VM_BACKUP_DIR/$WHICH_VM_TO_BACKUP_FILE"

elif [[ $WHICH_VM_TO_BACKUP == "BACKUP_02" ]]; then

        # ... do some work on BACKUP_02

        echo "BACKUP_01" > "$VM_BACKUP_DIR/$WHICH_VM_TO_BACKUP_FILE"

else

        echo "Script panic! ;-)"

fi

exit 0
Ho tirato giù lo script in 5 minuti, ritienilo solamente una traccia.

(Uff ... quanti crash ha questo Forum oggi ... )

Scherzi a parte, io e @bingel abbiamo avuto la stessa idea: la strada da seguire è di far eseguire a cron sempre lo stesso script, quindi implementare la logica di gestione dei backup all'interno dello script.



(*) Premesso che ovviamente non conosco il contenuto della VM e l'importanza / criticità dei dati in essa contenuti, backuppare tutti i giorni una VM da 200 GB forse non è la strategia ottimale. Non penso che tutte le parti contenute nella VM (software, configurazioni, dati) cambino così tanto frequentemente. Magari il punto più nevralgico è solamente il DB legato all'applicazione gestionale.
Potresti pensare ad una strategia alternativa del genere:

- backup quotidiano notturno del solo DB dell'applicazione gestionale
- backup settimanale (nel weekend) dell'intera VM

In questo modo terresti al sicuro i dati contenuti nel DB, terresti al sicuro la VM da eventuali malfunzionamenti (virus, corruzione del SO, dei file della VM), ridurresti i fermi macchina, risparmieresti spazio disco per i backup. Insomma dovresti riuscire a salvare capra e cavoli
valerius14
Prode Principiante
Messaggi: 52
Iscrizione: mercoledì 3 agosto 2016, 10:30
Desktop: lxde
Distribuzione: ubuntu 16.04 LTS
Sesso: Maschile

Re: virtualbox script snapshot periodico

Messaggio da valerius14 »

si stavo pensando ad una soluzione simile per agirare il problema... alla fine mi interessano solo i dati la macchina potrei comunque rialzarla in pochi minuti... il problema e che partendo dalle basi per capire ocme funziona crontab noto che non funziona XD

creo un compando semplice in uno script lo inserisco in crontab, dice che l' operazione e stata registrata ma all'orario impostato non viene lanciato niente... per comando semplice intendo anche il solo spegnere la macchina virtuale
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: virtualbox script snapshot periodico

Messaggio da thece »

valerius14 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4953365#p4953365][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: il problema e che partendo dalle basi per capire ocme funziona crontab noto che non funziona XD
Un pò precipitosa come affermazione, non credi? Vediamo cosa hai scritto nel crontab
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot] e 5 ospiti