virtualbox script snapshot periodico
-
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
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/ ?
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/ ?
Re: virtualbox script snapshot periodico
Fai uno script e lo metti in "/etc/cron.daily" o weekly
EDIT: salvo diverse esigenze suggerisco di tenere solo gli ultimi due snapshot.
EDIT: salvo diverse esigenze suggerisco di tenere solo gli ultimi due snapshot.
Re: virtualbox script snapshot periodico
Possibile soluzione:
Elimina snapshot.old
Rinomina snapshot in snapshot.old
Esegui snapshot
Elimina snapshot.old
Rinomina snapshot in snapshot.old
Esegui snapshot
- thece
- Tenace Tecnocrate

- Messaggi: 13190
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: virtualbox script snapshot periodico
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.
Re: virtualbox script snapshot periodico
...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.
...resta tuttavia valido il discorso di cron.
- steff
- 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
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
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
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?
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?
- thece
- Tenace Tecnocrate

- Messaggi: 13190
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: virtualbox script snapshot periodico
OK, strategia lecita ma non è un backup. Se la VM si corrompe (intendo uno dei file che la compongono) perdi tutto.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.
Ma quale script infinito. Dai, è una banale copia di una directoryvalerius14 [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: ... uno script infinito...
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.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: ... tanto la vm ha una sua partizione in raid1.
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 letturavalerius14 [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: cron come funziona? stessa storia bin/bash? apro editor e compilo?
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
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
/root/clonevm.sh
/root/delclonevm.sh
C'e un modo per sapere se funziona senza attendere le 6 di domani mattina?
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
Codice: Seleziona tutto
#!/bin/bash
/home/administrator/VirtualBox VMs/win/
sudo rm win1.vdi
Re: virtualbox script snapshot periodico
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.
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.
- thece
- Tenace Tecnocrate

- Messaggi: 13190
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: virtualbox script snapshot periodico
Secondo me, per il tuo specifico caso, gli snapshot della VM non sono una soluzione ottimale. Meglio un backup dell'intera VM (*)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 ...
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
(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
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 
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
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
- thece
- Tenace Tecnocrate

- Messaggi: 13190
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: virtualbox script snapshot periodico
Un pò precipitosa come affermazione, non credi? Vediamo cosa hai scritto nel crontabvalerius14 [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![]()
Chi c’è in linea
Visualizzano questa sezione: Google [Bot] e 5 ospiti
