View Full Version : FREENAS! backup verso disco esterno...
Ciao a tutti...
anzitutto... perchè non esiste un post [FREENAS UFFICIALE]?
ammetto che l'ho provato questa settimana ed è spettacolare!... ovviamente come NAS... c'è installato di tutto!... ma manca una cosa che solitamente nei NAS è d'obbigo... UN BACKUP!
Infattti in tutti i NASsettini commerciali hai il "tastino" back up che esegue un backup totale (o incrementale questo proprio non lo so...) su un archivio esterno montato su USB-Firewire-ESata... asseconda dei modelli....
Su Freenas no! esiste il backup delle impostazioni ma non dei dati...
Chiedo aiuto quindi per sapere se qualcuno conosce il modo di backuppare esternamente in modo automatico-programmabile in modo che ogni sera e|o notte esegua la sua copia di sicurezza.
Ho dato uno sguardo sulla rete, ma esiste questo BACULA che mi sembra un gran bel casino da configurare....
ma aggiungere un "menu a tendina" con BACKup era così complicato !!!???
Grazie a tutti in anticipo!
ciao
a QUESTO INDIRIZZO (http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=12&t=2857) ho trovato una stringa molto utile che utilizza "dd"
Riporto di seguito
1. If your system disk(HDD) is ad0 and you have a volume mounted on /mnt/share you can use dd to create a partition image of the system partition on your storage volume
Code: Select all
dd if=/dev/ad0s1 of=/mnt/share/partition_backup.dd bs=16k
The extension is not important , I use one just to know that the image was created using dd.
2. If the system is instaled on USB/CF as "super-floppy" the command should be:
Code: Select all
dd if=/dev/da0 of=/mnt/share/partition_backup.dd bs=16k
To restore the image from backup
1. for first example:
Code: Select all
dd if=/mnt/share/partition_backup.dd of=/dev/ad0s1 bs=16k
2. for second example
Code: Select all
dd if=/mnt/share/partition_backup.dd of=/dev/da0 bs=16k
dd is a very powerful tool , for reference you should take a look at: FreeNAS Knowledgebase / 848. The power of dd (http://www.freenaskb.info/kb/?View=entry&EntryID=245)
puoi scrivere un semplice script del tipo cp -a /blabla /backupblabla e impostarlo nel file di cron, abbastanza semplice :D
ciao,
grazied ella risposta... sono un niubbone con Linux... effettivamente una file di copiapotrebbe fare al caso mio.... ma eseguirebbe una copia TOTALE, non incremetale (copiare solamente i file modificati...)... è 1 TB di roba....
Altrimenti Rsync?... può lavorare via USB o Firewire oppure solamente con il protocollo TCP quindi Ethernet?
Grazie
cp -uar
-u, --update
copy only when the SOURCE file is newer than the destination
file or when the destination file is missing
:D
Altrimenti Rsync?... può lavorare via USB o Firewire oppure solamente con il protocollo TCP quindi Ethernet?
Ciao, come hai già capito il problema di dd e cp è la copia non incrementale.
rsync è proprio quello che fa per te, copia solo le modifiche può lavorare via rete. Non è limitato alla LAN ethernet ma usa TCP/IP, in 2 modi diversi:
- protocollo rsync (di default tcp porta 873, connessione in chiaro)
- rsync over ssh (quindi canale cifrato su porta tcp 22)
rsync può lavorare anche in "locale" da directory a directory, cosa molto utile se il NAS non supporta ne SSH ne rsync: puoi montare in locale la risorsa remota (tramite CIFS o NFS o quello che vuoi, anche usb e firewire) e poi eseguire rsync usando il mount-point come destinazione.
Complicando ancora le cose è possibile creare un file sul nas, montarlo come loop-device, installarci un filesystem cifrato ed usarlo come target rsync in modo da avere backup cifrati in un un unico file (poi è un casino gestirne la dimensione ed altri dettagli ma è un'opzione interessante ;) ).
Unica pecca di rsync è che puoi mantenere una sola "immagine" per volta, nel senso, se esegui un backuo oggi ed uno tra una settimana, dopo il secondo backup il primo è andato perduto.
rdiff-backup ed rsnapshot risolvono il problema mantenendo anche le versioni vecchie del backup.
cp -uar
:D
boia... quanto sono niubbo...
Grazie... non lo sapevo... lo metto tra "cose da provare"
ciao
Ciao, come hai già capito il problema di dd e cp è la copia non incrementale.
rsync è proprio quello che fa per te, copia solo le modifiche può lavorare via rete. Non è limitato alla LAN ethernet ma usa TCP/IP, in 2 modi diversi:
- protocollo rsync (di default tcp porta 873, connessione in chiaro)
- rsync over ssh (quindi canale cifrato su porta tcp 22)
rsync può lavorare anche in "locale" da directory a directory, cosa molto utile se il NAS non supporta ne SSH ne rsync: puoi montare in locale la risorsa remota (tramite CIFS o NFS o quello che vuoi, anche usb e firewire) e poi eseguire rsync usando il mount-point come destinazione.
Complicando ancora le cose è possibile creare un file sul nas, montarlo come loop-device, installarci un filesystem cifrato ed usarlo come target rsync in modo da avere backup cifrati in un un unico file (poi è un casino gestirne la dimensione ed altri dettagli ma è un'opzione interessante ;) ).
Unica pecca di rsync è che puoi mantenere una sola "immagine" per volta, nel senso, se esegui un backuo oggi ed uno tra una settimana, dopo il secondo backup il primo è andato perduto.
rdiff-backup ed rsnapshot risolvono il problema mantenendo anche le versioni vecchie del backup.
Minchia! esaurientissimo! ... mi piace... non so se FREENAS mi permetterà di fare tutte queste cose... Ha un casino di opzioni, vediamo che ci capisco...
Il fatto che mantenga una sola copia non sarebbe un problema, in quanto ho abilitato il cestino di rete... quindi se qualcuno fa una minchiata, il sottoscritto la può recuperare dal cestino...
per quanto riguarda rdiff-backup ed rsnapshot ho letto qualcosa su Wikipedia... non sarebbero altro che versioni freeware di TIME MACHINE di OSX... da quel che si dice... (mai usato su osx) gran programma di backup...
unica cosa non so se freenas mi permetterà di installarle e gestirle... inoltre ricordo che freenas è un BDS non un Linux.... bho !...
Adesso provo pure questa... CIFS o NFS sono supportati... bho... credo che per adesso Rsync sia il più abbordabil per un novizio come me.
Accetto tutti i consigli possibili
Grazie mille
Ciao, come hai già capito il problema di dd e cp è la copia non incrementale.
rsync è proprio quello che fa per te, copia solo le modifiche può lavorare via rete. Non è limitato alla LAN ethernet ma usa TCP/IP, in 2 modi diversi:
- protocollo rsync (di default tcp porta 873, connessione in chiaro)
- rsync over ssh (quindi canale cifrato su porta tcp 22)
rsync può lavorare anche in "locale" da directory a directory, cosa molto utile se il NAS non supporta ne SSH ne rsync: puoi montare in locale la risorsa remota (tramite CIFS o NFS o quello che vuoi, anche usb e firewire) e poi eseguire rsync usando il mount-point come destinazione.
Complicando ancora le cose è possibile creare un file sul nas, montarlo come loop-device, installarci un filesystem cifrato ed usarlo come target rsync in modo da avere backup cifrati in un un unico file (poi è un casino gestirne la dimensione ed altri dettagli ma è un'opzione interessante ;) ).
Unica pecca di rsync è che puoi mantenere una sola "immagine" per volta, nel senso, se esegui un backuo oggi ed uno tra una settimana, dopo il secondo backup il primo è andato perduto.
rdiff-backup ed rsnapshot risolvono il problema mantenendo anche le versioni vecchie del backup.
OKKKK!!!!
fatto tutto! incredibile.... FreeNas supporta tutto questo... e praticamnete riesce a crearmi un backup incrementale su penna USB!!!!!!!
Rsync puòlavorare, come server, client o local appunto... ma a questo punto mi sorge un problemino....
allora...
dichiamo che la sera a lle 20.00, dopo aver impostato il backup a modo, stacco il mio hd esterno (sul quale ho tutto il backup della giornata 2TB circa...) e me ne vado a casa ...
La mattina lo attacco nuovamente... MA!... arriva il problema... al momento in cui lo attacco, FReeNas lo "sente" sulla USB, infatti vedo tringhe di testo che attestano il riconoscimento dell'HD... ma se eseguo un backup... non funziona, in quanto NON RIPRISTINA IN AUTOMATICO IL MOUNT POINT!; infatti, una volta ripristinato il mountpoint del disco di backup, parte e copia....
quindi...
chi mi suggerisce una stringhettina BSD che faccia si che 1 ora prima del backup, FreeNas mi faccia un check dell'HD e me lo rimonti, in automatico, il mount-pont del disco?
Grazie mille... con la bash sono una frana... nel frattempo contiunuo a cercare...
Grazie
forse ho trovato qualcosa in rete.... se funzia posto la soluzione.
ciao
allora ... questo è quello che ho trovato.... e fa al caso mio! e dice che funziona.... !!!!
Ma non so comeeeeeeeeee! :cry: :cry: :muro: :muro:
questo è il link
http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=12&t=1099
e questo il codice....
AIUTOOOOOOOOOOOOOOOOO!
#!/bin/sh
# filename: backup2usb.sh
# author: Dan Merschi
# date: 2009-02-07 (0.69 rev.4292)
# purpose: Mount partition, rsync backup and umount partition.
# Set Colors
RED='\e[1;31m'; GREEN='\e[1;32m' ; YELLOW='\e[1;33m'; WHITE='\e[1;37m';
# Check arguments
[ $# -ne 2 ] && \
{ echo -e "${YELLOW}Usage: ${WHITE}$0 ${RED}partition ${GREEN}directory"; exit 1; };
# Fail if device not found
[ ! -e /dev/${1} ] && \
{ echo -e "${YELLOW}Error 1 : ${WHITE}Partition $1 don't exist. ${RED}Exit 1"; exit 1; };
# Fail if local directory don't exist
[ ! -d "${2}" ] && \
{ echo -e "${YELLOW}Error 2 : ${WHITE}Directory ${2} don't exist. ${RED}Exit 1"; exit 1; };
# Check if partition is mounted
[ `mount | grep -c /dev/${1}` -ne 0 ] && \
{ echo -e "${YELLOW}Error 3 : ${WHITE}Partition $1 is mounted. ${RED}Exit 1"; exit 1; };
# Fail if can't create directory
[ ! -d "/tmp/${1}" ] && mkdir -p "/tmp/${1}";
# Mount device
mount /dev/${1} /tmp/${1} && \
{ echo -e "${GREEN}1.${WHITE} Mounting device /dev/${1} on /tmp/${1}"; } || \
{ echo -e "${YELLOW}Error 5 : ${WHITE}Mount fail. ${RED}Exit 1"; exit 1; };
echo -e "${GREEN}2.${WHITE} Start synchronization"
# Start rsync
rsync -a -del --progress --log-file=/tmp/${1}/rsync.log "${2}/" "/tmp/${1}";
# End rsync
echo -e "${GREEN}3.${WHITE} End synchronization"; sleep 1 && sync /dev/${1};
# Umount device & remove directory
umount -f /dev/${1} && [ -d /tmp/${1} ] && rm -r /tmp/${1};
# Send final message
echo -e "${GREEN}4.${WHITE} Device ( ${GREEN}${1}${WHITE} ) umounted successfully."; sleep .5;
echo -e "${GREEN}5.${WHITE} You can safely remove your device ( ${GREEN}${1}${WHITE} )now."; sleep .5;
echo -e "${GREEN}6.${WHITE} To exit press ${GREEN}Enter${WHITE} or close the window."; sleep .5;
# Read user input & exit.
read X && exit 0
Hmm ok, però a te serve solo uno script che monti il dispositivo in caso non sia già montato giusto? Lo script invece esegue anche rsync, per montare il disco dovrebbe bastare una cosa del tipo
#!/bin/sh
#
# USAGE:
# ./script.sh partition mountPoint
#
# ARGS:
# partition name, like sdb1
# mount point, like /tmp/usb
#
# EXAMPLE:
# ./script.sh sdb1 /tmp/usbKey
# mount /dev/sdb1 on /tmp/usbKey, /tmp/usbKey must exist.
#
[ $# -ne 2 ] && \
{ echo -e "Usage: $0 partition mountPoint"; exit 1; };
# Fail if device not found
[ ! -e /dev/${1} ] && \
{ echo -e "Error 1 : Partition $1 don't exist."; exit 1; };
# Fail if mount point don't exist
[ ! -d "${2}" ] && \
{ echo -e "Error 2 : Mount point ${2} don't exist."; exit 1; };
# Check if partition is mounted
[ `mount | grep -c /dev/${1}` -ne 0 ] && \
{ echo -e "Error 3 : Partition $1 is mounted."; exit 1; };
# Mount device
mount /dev/${1} ${2} && \
{ echo -e "Mounting device /dev/${1} on ${2}"; } || \
{ echo -e "Error 4 : Mount fail."; exit 1; };
exit 0
Ho seri dubbi che funzioni semplicemente copiando ed incollando perchè non l'ho provato :fagiano: però credo sia ok.
Non è proprio l'ideale ma fa quanto deve: monta una partizione in una directory. Tieni conto che non discrimina a seconda del dispositivo, quindi monterà la partizione anche se attacchi una chiavetta al posto del solito disco usb.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.