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/*