<div class="page">
<div class="cover text-center">
<img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo">
# Còpies de seguretat amb TAR
<div class="text-end fit-content ms-auto my-3 mt-auto pt-3">
<p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p>
<p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p>
<p><strong>Curs:</strong> 2024/2025</p>
</div>
<div>
<p>Aquest material és una obra derivada a partir del material de: <strong>Alicia Pedrosa</strong></p>
<p class="fw-bold mb-0">Llicència: BY-NC-SA</p>
<p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank">
<img class="mx-auto" src="/itb/images/license.png" alt="Licence"/>
</a>
</div><!--license-->
</div><!--cover-->
</div><!--page-->
{:toc}
# Requisits
En aquesta pràctica cal instal·lar una màquina virtual amb __Ubuntu 20.04__.
- Cal configurar el nom de la màquina perquè siga __UbuntuSI-01__.
- Cal configurar el prompt com s'ha especificat en la pràctica.
## Exercici 1: Còpies de seguretat
### Objectius
- Apendre a utilitzar eines d'empaquetatge i compresió de fitxers i directoris.
- Apendre a fer còpies de seguretat totals, diferencials i incrementals.
- Apendre a programar tasques
### Tasca
- Crear la carpeta `~/backups` al vostre directori d'usuari, on es guardaran les còpies de seguretat.
- Crear la carpeta `~/data` al vostre directori d'usuari.
- Crear dins d'aquesta carpeta 4 fixers de text anomentats
`fileN.txt`, on `N` és el número del fixers.
- El contingut de cada fitxer és: _"Aquest és el contingut del fitxer `N`."_
_Exemple per el primer fitxer_:
```bash
echo "Aquest és el contingut del fitxer 1." > ~/data/file1.txt
```
- Tutorial `tar`: https://juncotic.com/tar-backups-incrementales-gnu-linux/
- Documentació oficial: https://www.gnu.org/software/tar/manual/html_node/Incremental-Dumps.html
#### Crear còpies de seguretat
Utilitzant l'eina `tar`:
- Crea una còpia completa del directori `~/data` a `~/backups/bkp0_completa.tzg`.
El snapshot ha de guardar-se a `~/backups/snapshot.snar`.
- Esborra `fitxer2.txt`, crea `fitxer5.txt` (amb el mateix format anterior).
- Crea una còpia incremental del directori `~/data` a `~/backups/bkp1_incremental.tzg`
#### Recuperar còpies de segureatat
- Esborra el directori `~/data`.
Utilitzant l'eina `tar`:
- Recupera el directori `~/data` des de la còpia completa.
Comprova que els continguts corresponen a aquesta versió (Hauries de tindre els fitxers 1, 2, 3 i 4).
- Recupera els canvis realitzats en el còpia incremental.
Comprova que els continguts corresponen a aquesta versió (1, 3, 4 i 5).
#### Programar còpies de seguretat
- Tutorial `crontab`: https://www.hostinger.es/tutoriales/cron-job
- Documentació oficial: https://man7.org/linux/man-pages/man5/crontab.5.html
Utilitzant `crontab` i `tar`:
- Programa que es realitze una còpia completa cada diumenge a les 23:59 a `~/backups/bkpYYYYMMDD_completa.tgz`.
- Programa que es realitze una còpia completa cada dia (excepte diumenge) a les 23:59 a `~/backups/bkpYYYYMMDD_incremental.tgz`.
Per obtindre `YYYYMMDD` podeu utilitzar la comanda `date +"%Y%m%e"`.
_Exemple_:
```bash
tar -cvzf /home/user/backups/bkp`date +"%Y%m%e"`_completa.tgz /home/user/data
```
Aquest lloc web utilitza galetes per millorar l'experiència de l'usuari