Copies_de_seguretat
Size: 6645
Comment:
|
Size: 7023
Comment: Corregida devinfo, ortografia i una mica d'endreça de format, etc.
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
El nostre objectiu és que, al connectar un disc dur extern (o un llapis de memòria) concret, automàticament es generi una copia de seguretat de certes dades elegides. Amb l'ajuda d'udev serà molt senzill. | El nostre objectiu és que al connectar un disc dur extern (o un llapis de memòria) concret, automàticament es generi una còpia de seguretat de certes dades elegides. Amb l'ajuda d'udev serà molt senzill. |
Line 7: | Line 8: |
El primer que cal fer és esbrinar els detalls del nostre disc dur, de manera que l'script s'executi només quan connectem un dispositiu en concret. Per fer això, en un terminal farem: {{{ udevinfo -a -p '-q path -n /dev/sdX' > ~/Escriptori/udevinfo.log}}}, substituint la X per la lletra que toqui. Per saber-la, el més senzill és fer ls /dev/sd* amb el disc dur desconnectat i fer-ho a continuació un cop connectat, la lletra afegida un cop connectat és la corresponent al disc dur extern. Després de fer això tindrem a l'escriptori l'arxiu udevinfo.log amb tota la informació necessària. | |
Line 9: | Line 9: |
El següent pas serà crear un arxiu amb les regles d'udev per al nostre dispositiu: {{{gksudo gedit /etc/udev/rules.d/99-copia.rules }}}. En aquest arxiu, hi hem de posar el següent: | El primer que cal fer és esbrinar els detalls del nostre disc dur, de manera que el script s'executi només quan connectem un dispositiu en concret. Per a fer això, farem a un terminal: |
Line 11: | Line 11: |
KERNEL=="sd[a-z]1", ATTRS{manufacturer}=="EL-QUE-TOQUI", ATTRS{serial}=="EL-QUE-TOQUI", ACTION=="add", RUN+="/ruta/de/l'script" | {{{ udevinfo -a -p $(udevinfo -q path -n /dev/sdX) > ~/Escriptori/udevinfo.log}}} |
Line 13: | Line 13: |
El valor de les claus manufacturer i serial les hem de copiar '''EXACTAMENT IGUAL''' que surten al nostre fitxer udevinfo.log. Addicionalment, hi podem posar també la clau ATTRS{product} o qualsevol altra, però en principi amb manufacturer i serial n'hi haurà més que prou. En cas de posar un altre clau s'haurà de tenir en compte de respectar l'ordre de les entres a l'arxiu udevinfo.log. | substituint la X per la lletra que toqui. Per saber-la, el més senzill és fer ''ls /dev/sd*'' amb el disc dur desconnectat i fer-ho a continuació un cop connectat, la lletra afegida un cop connectat és la corresponent al disc dur extern. Després de fer això tindrem a l'escriptori el fitxer udevinfo.log amb tota la informació necessària. |
Line 15: | Line 15: |
Després de crear l'arxiu amb les nostres regles, el pas següent és fer que l'udev reconegui aquesta norma. Per fer això n'hi haurà prou amb fer, en un terminal, {{{ sudo /etc/init.d/udev reload }}} | El següent pas serà crear un fitxer amb les regles d'udev pel nostre dispositiu: |
Line 17: | Line 17: |
Ara ja tenim creada la nostra norma i, en principi, l'udev la reconeix. El següent serà crear l'script que volem executar a la connexió del nostre disc dur. Aquest script el podem crear a qualsevol lloc, ja sigui dintre del nostre home o sota /opt, /usr/local o qualsevol ubicació que ens sembli adequada. Un cop creat, l'hem de marcar com a executable amb l'ordre {{{ sudo chmod +x /ruta/de/l'script }}} | {{{gksudo gedit /etc/udev/rules.d/99-copia.rules }}} |
Line 19: | Line 19: |
= Script de copia de seguretat = | En aquest fitxer, hi hem de posar el següent: KERNEL=="sd[a-z]1", ATTRS{manufacturer}=="EL-QUE-TOQUI", ATTRS{serial}=="EL-QUE-TOQUI", ACTION=="add", RUN+="/ruta/de/l'script" El valor de les claus ''manufacturer'' i ''serial'' les hem de copiar '''EXACTAMENT IGUAL''' que com surten al nostre fitxer udevinfo.log. Addicionalment, hi podem posar també la clau ''ATTRS{product}'' o qualsevol altra, però en principi amb ''manufacturer'' i ''serial'' n'hi haurà més que prou. En cas de posar una altra clau s'haurà de tenir en compte respectar l'ordre de les entrades al fitxer udevinfo.log. Després de crear el fitxer amb les nostres regles, el pas següent és fer que l'udev reconegui aquesta norma. Per a fer això n'hi haurà prou amb fer, en un terminal: {{{ sudo /etc/init.d/udev reload }}} Ara ja tenim creada la nostra norma i, en principi, l'udev la reconeixerà. El següent serà crear el script que volem executar quan connectem el nostre disc dur. Aquest script el podem crear a qualsevol lloc, ja sigui dins del nostre /home o sota /opt, /usr/local o qualsevol ubicació que ens sembli adequada. Un cop creat, l'hem de marcar com a executable amb l'ordre {{{ sudo chmod +x /ruta/de/l'script }}} = Script de còpia de seguretat = |
Line 23: | Line 37: |
La comanda [http://samba.anu.edu.au/rsync/ rsync] és la que farem servir per dur a terme la copia de seguretat. ¿Per què no fem servir la comanda cp si del que es tracta és de copiar dades? El problema de cp és que, al fer la copia dels arxius, copiaria i sobreescriuria '''tots''' els arxius, incloent-hi els que no han canviat. Amb rsync, en canvi, copiarem només els arxius que hagin canviat, i és òbviament molt més adequat per al nostre propòsit. | L'ordre [http://samba.anu.edu.au/rsync/ rsync] és la que farem servir per a dur a terme la còpia de seguretat. Per què no fem servir l'ordre '''cp''' si del que es tracta és de copiar dades? El problema de '''cp''' és que, al fer la còpia dels fitxers, copiaria i sobreescriuria '''tots''' els fitxers, incloent-hi els que no han canviat. Amb rsync, en canvi, copiarem només els fitxers que hagin canviat, i és òbviament molt més adequat i eficient pel nostre propòsit. |
Line 25: | Line 39: |
L'ús típic seria {{{rsync -ur origen desti}}}. Amb aquesta comanda, el que fem es copiar la carpeta origen a la carpeta destí i, si ho fem varies vegades, actualitzar el contingut de la copia. En aquest cas, si algun arxiu i/o carpeta a la carpeta origen es borra, es conserva a la copia. Aquesta opció sembla ser la millor, ja que no correm el risc d'esborrar cap arxiu important i esborrar-lo també de la copia; l'únic a tenir en compte és que, si ho creiem necessari, haurem de mantenir neta la copia de seguretat esborrant manualment els arxius que ja no ens interessin. Amb rsync podem especificar excepcions a l'hora de copiar, de manera que podem excloure certs arxius i/o carpetes de la carpeta origen, per tal de no tenir-los a la copia de seguretat. Per exemple: volem fer una copia de /home/USER a /COPIA, però en volem excloure la carpeta /home/USER/temporals; per fer això, l'ordre seria {{{rsync -ur --exclude="USER/temporals" /home/USER /COPIA}}} |
L'ús típic seria: {{{rsync -ur origen desti}}} Amb aquesta ordre, el que fem és sincronitzar la carpeta origen amb la carpeta destí i, si ho fem varies vegades, actualitzar el contingut de la còpia només si ha hagut canvis des de l'última sincronització. En aquest cas concret, si algun fitxer i/o directori s'esborra del directori origen, es conserva a la còpia. Aquesta opció sembla ser la millor, ja que no correm el risc d'esborrar cap fitxer important i esborrar-lo també de la còpia; l'únic a tenir en compte és que, si ho creiem necessari, haurem de mantenir neta la còpia de seguretat esborrant manualment els fitxers que ja no ens interessin. Amb ''rsync'' podem especificar excepcions a l'hora de copiar, de manera que podem excloure certs fitxers i/o directoris del directori origen, per tal de '''no''' tenir-los a la còpia de seguretat. Per exemple: volem fer una còpia de /home/USUARI a /COPIA, però en volem excloure la carpeta /home/USUARI/temporals; per a fer això, l'ordre seria: {{{rsync -ur --exclude="/home/USUARI/temporals" /home/USUARI /COPIA}}} |
Line 29: | Line 49: |
* --delete-excluded: si a la copia hi han arxius exclosos, els hi borra. És útil si hem canviat l'script de copia i ara ens interesa excloure'n certes carpetes i, a més, les volem borra de la copia. * --delete: esborra arxius de la copia. Si esborrem arxius de l'origen i actualitzem la copia amb aquesta opció, s'esborren també a la copia de seguretat. * --stats: ens dona informació sobre quanta informació ha canviat i s'ha copiat. * -nv: ens dirà quins fitxers i/o carpetes es copien, però sense dur a terme la copia. Resulta molt útil si hem de fer proves, ja que ens estalviem el tràfic de dades i sabrem que es copia. * -v: ens diu tots els arxius que s'han copiat/actualitzat, així com la quantitat d'informació que canvia i la velocitat. * man rsync: ens donarà moltissima informació referent a la comanda, amb exemples d'ús i amb l'explicació de les opcions possibles. |
* ''--delete-excluded'': si a la còpia hi han fitxers exclosos, els elimina. És útil si hem canviat l'script de còpia i ara ens interessa excloure'n certs directoris i, a més, els volem eliminar de la còpia. * ''--delete'': elimina fitxers de la còpia. Si eliminem fitxers de l'origen i actualitzem la còpia amb aquesta opció, s'esborren també a la còpia de seguretat. * ''--stats'': ens dóna informació sobre quantes dades han canviat i s'han sincronitzat (copiat). * ''-nv'': ens dirà quins fitxers i/o carpetes es copien, però sense dur a terme la còpia. Resulta molt útil si hem de fer proves, ja que ens estalviem el tràfic de dades i sabrem què es copiarà quan ho fem en ferm. * ''-v'': ens diu tots els fitxers que s'han copiat/actualitzat, així com la quantitat d'informació que canvia i a quina velocitat. * ''man rsync'': ens donarà moltíssima informació referent a l'ordre, amb exemples d'ús i amb l'explicació de les opcions possibles. |
Line 36: | Line 62: |
Aclaració: en el cas de -nv i -v, la v correspon al mateix, incrementar la informació de sortida. Podem combinar varies opcions com vulguem. És el mateix fer -u -r -v -n que -ur -vn o -urvn. | Aclariment: en el cas de ''-nv'' i ''-v'', la ''v'' (verbose) correspon al mateix, incrementar la informació de sortida. Podem combinar varies opcions com vulguem. És el mateix fer ''-u -r -v -n'' que ''-ur'' ''-vn'' o ''-urvn''. |
Line 39: | Line 65: |
En aquest apartat només veure un petit exemple d'una manera de fer una copia de seguretat. | En aquest apartat només veurem un petit exemple d'una manera de fer una còpia de seguretat. |
Line 63: | Line 91: |
Aquest pot ser un bon exemple. En aquest cas, el disc dur està en ext3 i s'ha etiquetat com a WD120 (es munta a /media/WD120) i, mitjançant la comanda rsync es copia el directori home de l'usuari patrick a /media/WD120/portatil. Addicionalment, es crea un log de l'operació (amb un resum de la quantitat de dades que s'han copiat) a /media/WD120/logs/portatil amb el nom HOME data.log (exemple: HOME dj jul 17 23:05:14 CEST 2008.log). | Aquest pot ser un bon exemple. En aquest cas, el disc dur està formatat en ext3 i s'ha etiquetat com a WD120 (es munta a /media/WD120) i, mitjançant l'ordre ''rsync'' es copia el directori /home de l'usuari patrick a /media/WD120/portatil. Addicionalment, es crea un registre de l'operació (amb un resum de la quantitat de dades que s'han copiat) a /media/WD120/logs/portatil amb el nom HOME data.log (exemple: HOME dj jul 17 23:05:14 CEST 2008.log). |
Line 67: | Line 95: |
A més a més, a l'arxiu copies.log s'hi escriu quan s'ha iniciat la copia i quan s'ha acabat de fer. | A més a més, al fitxer copies.log s'hi escriu quan s'ha iniciat la còpia i quan s'ha acabat de fer. |
Line 69: | Line 97: |
Amb aquest script sempre sabrem en quin moment es va dur a terme la copia de seguretat, quan va tardar en fer-se i la quantitat de dades que es van copiar. Aquesta informació ens pot resultar útil per determinar si un dia vam o no vam fer la copia de seguretat o quan va ser l'ultim dia que es va fer. | Amb aquest script sempre sabrem en quin moment es va dur a terme la còpia de seguretat, quan va tardar en fer-se i la quantitat de dades que es van copiar. Aquesta informació ens pot resultar útil per determinar si un dia vam o no vam fer la còpia de seguretat o quan va ser l'últim dia que es va fer. |
ARTICLE INCOMPLET |
Introducció
El nostre objectiu és que al connectar un disc dur extern (o un llapis de memòria) concret, automàticament es generi una còpia de seguretat de certes dades elegides. Amb l'ajuda d'udev serà molt senzill.
Escrivint una regla d'udev
El primer que cal fer és esbrinar els detalls del nostre disc dur, de manera que el script s'executi només quan connectem un dispositiu en concret. Per a fer això, farem a un terminal:
udevinfo -a -p $(udevinfo -q path -n /dev/sdX) > ~/Escriptori/udevinfo.log
substituint la X per la lletra que toqui. Per saber-la, el més senzill és fer ls /dev/sd* amb el disc dur desconnectat i fer-ho a continuació un cop connectat, la lletra afegida un cop connectat és la corresponent al disc dur extern. Després de fer això tindrem a l'escriptori el fitxer udevinfo.log amb tota la informació necessària.
El següent pas serà crear un fitxer amb les regles d'udev pel nostre dispositiu:
gksudo gedit /etc/udev/rules.d/99-copia.rules
En aquest fitxer, hi hem de posar el següent:
- KERNEL=="sd[a-z]1", ATTRS{manufacturer}=="EL-QUE-TOQUI", ATTRS{serial}=="EL-QUE-TOQUI", ACTION=="add", RUN+="/ruta/de/l'script"
El valor de les claus manufacturer i serial les hem de copiar EXACTAMENT IGUAL que com surten al nostre fitxer udevinfo.log. Addicionalment, hi podem posar també la clau ATTRS{product} o qualsevol altra, però en principi amb manufacturer i serial n'hi haurà més que prou. En cas de posar una altra clau s'haurà de tenir en compte respectar l'ordre de les entrades al fitxer udevinfo.log.
Després de crear el fitxer amb les nostres regles, el pas següent és fer que l'udev reconegui aquesta norma. Per a fer això n'hi haurà prou amb fer, en un terminal:
sudo /etc/init.d/udev reload
Ara ja tenim creada la nostra norma i, en principi, l'udev la reconeixerà. El següent serà crear el script que volem executar quan connectem el nostre disc dur. Aquest script el podem crear a qualsevol lloc, ja sigui dins del nostre /home o sota /opt, /usr/local o qualsevol ubicació que ens sembli adequada. Un cop creat, l'hem de marcar com a executable amb l'ordre
sudo chmod +x /ruta/de/l'script
Script de còpia de seguretat
Rsync
L'ordre [http://samba.anu.edu.au/rsync/ rsync] és la que farem servir per a dur a terme la còpia de seguretat. Per què no fem servir l'ordre cp si del que es tracta és de copiar dades? El problema de cp és que, al fer la còpia dels fitxers, copiaria i sobreescriuria tots els fitxers, incloent-hi els que no han canviat. Amb rsync, en canvi, copiarem només els fitxers que hagin canviat, i és òbviament molt més adequat i eficient pel nostre propòsit.
L'ús típic seria:
rsync -ur origen desti
Amb aquesta ordre, el que fem és sincronitzar la carpeta origen amb la carpeta destí i, si ho fem varies vegades, actualitzar el contingut de la còpia només si ha hagut canvis des de l'última sincronització. En aquest cas concret, si algun fitxer i/o directori s'esborra del directori origen, es conserva a la còpia. Aquesta opció sembla ser la millor, ja que no correm el risc d'esborrar cap fitxer important i esborrar-lo també de la còpia; l'únic a tenir en compte és que, si ho creiem necessari, haurem de mantenir neta la còpia de seguretat esborrant manualment els fitxers que ja no ens interessin. Amb rsync podem especificar excepcions a l'hora de copiar, de manera que podem excloure certs fitxers i/o directoris del directori origen, per tal de no tenir-los a la còpia de seguretat. Per exemple: volem fer una còpia de /home/USUARI a /COPIA, però en volem excloure la carpeta /home/USUARI/temporals; per a fer això, l'ordre seria:
rsync -ur --exclude="/home/USUARI/temporals" /home/USUARI /COPIA
Altres opcions que hi podem afegir son:
--delete-excluded: si a la còpia hi han fitxers exclosos, els elimina. És útil si hem canviat l'script de còpia i ara ens interessa excloure'n certs directoris i, a més, els volem eliminar de la còpia.
--delete: elimina fitxers de la còpia. Si eliminem fitxers de l'origen i actualitzem la còpia amb aquesta opció, s'esborren també a la còpia de seguretat.
--stats: ens dóna informació sobre quantes dades han canviat i s'han sincronitzat (copiat).
-nv: ens dirà quins fitxers i/o carpetes es copien, però sense dur a terme la còpia. Resulta molt útil si hem de fer proves, ja que ens estalviem el tràfic de dades i sabrem què es copiarà quan ho fem en ferm.
-v: ens diu tots els fitxers que s'han copiat/actualitzat, així com la quantitat d'informació que canvia i a quina velocitat.
man rsync: ens donarà moltíssima informació referent a l'ordre, amb exemples d'ús i amb l'explicació de les opcions possibles.
Aclariment: en el cas de -nv i -v, la v (verbose) correspon al mateix, incrementar la informació de sortida. Podem combinar varies opcions com vulguem. És el mateix fer -u -r -v -n que -ur -vn o -urvn.
Exemple d'script
En aquest apartat només veurem un petit exemple d'una manera de fer una còpia de seguretat.
# Script per fer copia de seguretat sleep 15 if [ -d /media/WD120 ] #Comprova si s'ha muntat el support then echo "Inici de copia: $(date)" >> /media/WD120/logs/portatil/copies.log rsync -ur --stats --exclude="patrick/.Trash" --exclude="patrick/.cache" --exclude="patrick/.thumbnails" --exclude="patrick/Examples" --exclude="patrick/.adobe" --exclude="patrick/.openoffice.org2" /home/patrick /media/WD120/portatil/ >> /media/WD120/logs/portatil/HOME\ "$(date)".log rsync -ur --stats /media/dades/mp3 /media/WD120 >> /media/WD120/logs/portatil/MP3\ "$(date)".log echo "Final de copia: $(date) " >> /media/WD120/logs/portatil/copies.log fi
Aquest pot ser un bon exemple. En aquest cas, el disc dur està formatat en ext3 i s'ha etiquetat com a WD120 (es munta a /media/WD120) i, mitjançant l'ordre rsync es copia el directori /home de l'usuari patrick a /media/WD120/portatil. Addicionalment, es crea un registre de l'operació (amb un resum de la quantitat de dades que s'han copiat) a /media/WD120/logs/portatil amb el nom HOME data.log (exemple: HOME dj jul 17 23:05:14 CEST 2008.log).
Després es copia la carpeta /media/dades/mp3 a /media/WD120 i es crea un MP3 data.log.
A més a més, al fitxer copies.log s'hi escriu quan s'ha iniciat la còpia i quan s'ha acabat de fer.
Amb aquest script sempre sabrem en quin moment es va dur a terme la còpia de seguretat, quan va tardar en fer-se i la quantitat de dades que es van copiar. Aquesta informació ens pot resultar útil per determinar si un dia vam o no vam fer la còpia de seguretat o quan va ser l'últim dia que es va fer.
CatalanTeam/Recursos/Copies_de_seguretat (last edited 2009-04-26 13:55:10 by 20)