Lezione n.6 del 16/11/2007
==========================

Argomenti
---------

* Archiviazione e compressione
  - archiviazione con il comando tar
    > operazioni principali (creazione, visulizzazione, estrazione
      archivi)
    > opzioni principali (abilitazione percorsi assoluti, modifica
      della cartella di destinazione, compressione)
  - compressione file singoli
    > comandi gzip, gunzip, bzip2, bunzip2
* Ricerca dei file
  - in percorsi specificati: comando find
    > sintassi: percorsi, espressioni (condizioni e operatori)
    > esecuzione di un comando sul risultato della ricerca
      (azione -exec)
  - in un database: comando locate
    > invocazione del comando
    > creazione del database e opzioni
* Pianificazione dei processi
  - demone cron
    > file di configurazione: sintassi
    > comando crontab e opzioni


Riferimenti
:::::::::::

* Dispensa 'Amministrazione di un Sistema UNIX in Rete', Capitoli 9 e 10


Esercizio
---------

Da utente osor:
* Creare un archivio compresso arc1.tgz che contenga tutti i file della 
  directory /var in modo tale che venga preservato il path assoluto
* Creare un archivio compresso arch2.tgz che contenga i file della 
  directory /etc senza scendere nelle sue sottodirectory
* Visualizzare il contenuto dei due archivi
* Creare una sottodirectory della home di osor e scompattare gli archivi
  creati li' dentro
* Dentro alla sottodirectory, trovare tutti i files il cui nome 
  contiene 'tab' e che non sono directory
* Cercare tutti i files che hanno dimensione maggiore di 1KB (1KB=1024B).
* Impostare il proprio file crontab in modo che ogni minuto venga eseguito 
  il comando 'date' e l'output venga scritto in append sul file 
  'date1min' all'interno della propria home directory
* Impostare il proprio file crontab in modo che ogni *due* minuti venga 
  eseguito il comando date e l'output venga scritto in append sul file 
  'date2min' all'interno della propria home directory

Da utente root:
* modificare /etc/locate.rc in modo che crei il database nella home 
  directory di osor, e che includa nel database solo i file della 
  directory /var (Nota: /var e` un memory filesystem quindi e` 
  necessario includere mfs tra i tipi di filesystem)
* aggiornare il database tramite il comando /usr/libexec/locate.updatedb.
* Cercare mediante locate, nel database appena creato, tutti i 
  file contenuti nella directory /var/log


Soluzione
---------

* tar cvfzP arch1.tgz /var  
  (eventuali errori sono dovuti alla mancanza di privilegi,
  i file corrispondenti vengono ignorati)
* tar cvfzn arch2.tgz /etc/*   
* tar tvfz arch1.tgz   
  tar tvfz arch2.tgz 
* tar xvfz arch1.tgz -C ~/prova/   
  tar xvfz arch2.tgz -C ~/prova/ 
* find ~/prova/ \( -name "*tab*" -and \! \( -type d \) \)
* find / -size +1024c 
* crontab -e (come utente pippo)
   */1       *       *       *       *       date >> ~/date1min
* crontab -e (come utente pippo)
   */2       *       *       *       *       date >> ~/date2min

* emacs /etc/locate.rc
   modificare le righe sottostanti
   #/mfsusers/osor e` la home di osor
   FCODES="/mfsusers/osor/locate.database"
   SEARCHPATHS="/var"
   FILESYSTEMS="ufs mfs"
* /usr/libexec/locate.updatedb
* locate -d /mfsusers/osor/locate.database /var/log/*