dump.sh | (versione 1.6.4.8, del 16 marzo
2020) produce file di dump
(copie immagine) delle partizioni di un sistema
ripristinabili con il comando restore(8). Lo script interroga il
campo fs_freq,
il quinto, del file /etc/fstab
per determinare di quali filesystem
si devono eseguire le immagini con il comando dump(8). Permette
di specificare il livello di dump (0 per l'immagine completa, >0 per
i backup
incrementali), la directory
dove scrivere l'immagine di dump, una directory da montare prima dell'esecuzione
del dump.
Permette inoltre di ordinare la creazione di un file TOC (Table of Contents) insieme
all'immagine, di indicare il file dumpdates dove registrare le date dei dump effettuati per filesystem e per
livello e, ultima cosa importante, implementa una modalità
di funzionamento che ne permette delle prestazioni in
scrittura accettabili quando lavora su un filesystem di rete
NFS. Infatti il comando dump effettua dei
frequenti comandi SYNC
per assicurarsi che i dati inviati al dispositivo di massa
siano stati effettivamente scritti sul supporto fisico e che
non restino invece parcheggiati in qualche area di buffer. Questo
purtroppo riduce moltissimo le prestazioni del filesystem di rete (va
a circa 430 KiB/sec su una connessione da 100Mb/sec,
sfruttando così circa 1/20 della larghezza di banda!).
Il comando dump(8)
non ha opzioni che ne disattivino la scrittura sincrona,
così si è dovuto ingannarlo. L'inganno consiste nel creare una named pipe locale e nel lanciare un processo che legga in background da questa named pipe per scrivere i dati letti nel vero file di dump (sul filesystem di rete). Fatto questo si lancia il comando dump(8) dicendogli di scrivere nella named pipe. In questo modo si è visto aumentare la velocità di scrittura a 7,4 MiB/sec (media per 4min su un NFS versione 3 operante via UDP). Informazioni sulle altre opzioni riconosciute dallo script e sui loro valori di default sono ottenibili dallo script stesso eseguendolo con l'opzione -h che ne mostra la pagina di aiuto (help). Limitazioni: dump.sh effettua il dump di tutti i filesystem che in /etc/fstab risultano abilitati al dump automatico (quinto campo posto a 1 invece che a 0), tutti allo stesso livello. Non è ancora possibile indicare i filesystem di cui eseguire il dump sulla riga di comando. La umask è quella del processo genitore, e non è né controllata né impostata ad un valore sicuro. Una prossima versione implementerà queste due caratteristiche. Nel frattempo, la regolazione di quali filesystem creare il file di dump si effettua impostando il campo fs_freq, ossia il quinto, delle righe rilevanti nel file /etc/fstab (0 vuol dire niente dump, 1 vuol dire che si effettua il dump), mentre la umask deve essere impostata al valore desiderato prima dell'esecuzione dello script. I file di immagine creati non sono compressi. |
access-point_mode.sh | (versione 2.0 del 09 marzo 2016) configura l'interfaccia indicata (se non indicata, quella wlan0) perché funzioni da Access Point sull'indirizzo/maschera di rete dati (se non indicati, quelli 10.1.2.3/8). È attivato il servizio hostapd, quello isc-dhcp-server, è configurato il forwarding con un altra interfaccia presente (se non indicata, quella eth0) e configurato il firewall iptables perché esegua lo SNAT tra l'interfaccia WiFi e la seconda. |
traccia_dimensioni_file.awk | script che utilizzo per
tenere traccia dello stato di avanzamento di un download che
richiede un tempo lungo per il suo completamento.
Esempio del suo uso: [utecne@hal9000 ~]$ traccia_dimensioni_file.awk -v DIME=39707720 -v FILE='Download/gcc-4.1.2.tar.bz2' Scaricati 28221,9 KB, 27,5604 MB di 38777,1 KB, 37,8682 MB totali (72,7798 %) Controlla la definizione delle variabili DIME e FILE e il possibile errore del comando di shell di cui chiede l'esecuzione alla shell genitrice, producendo dei messaggi d'errore in caso di anomalie. Se tutto va bene il codice d'errore risultante (exit code) è zero. |
wget_file.awk |
script che analizza un file
HTML fornito come parametro che contiene dei file musicali. Lo
script ne ricava informazioni sul numero di traccia, il
titolo e la URI per lo scaricamento, quindi lo preleva
usando il comando esterno wget(1). Funziona solo con pagine
HTML formattate in un certo particolare modo, ma lo tengo
sul sito perché scrivendolo ho imparato diverse cose su AWK,
e potrebbe servirmi di usarlo come riferimento. |
chiave.sh | (versione 5 del 15 ottobre 2018) scrive verso lo standard output il
valore di hash del
contenuto di una variabile d'ambiente specificata sulla riga
di comando effettuato con un comando di hashing specificato
anch'esso sulla riga di comando. L'output è scritto tra
parentesi quadre a caratteri neri (di default), cosicché se
lo sfondo del terminale è anch'esso di colore nero non
risulterà visibile ad occhi indiscreti, ma sarà lo stesso
copincollabile per essere usato, ad esempio, come password.
L'opzione -x
(o --xauth),
unita all'opzione -a
cat (nessun algoritmo di hash, semplice copia dall'input all'output), produce in
uscita la stringa contenente la chiave di autorizzazione per
il protocollo MIT-MAGIC-COOKIE-1
del display
grafico in uso (vedasi man xauth(1)). Esempî del suo uso: [utecne@hal9000 ~]$ chiave.sh -f CHIAVE -a sha1sum [1234567890abcdef1234567890abcdef12345678] [utecne@hal9000 ~]$ chiave.sh -f SEGRETO -a md5sum [1234567890abcde1234567890abcde12] [utecne@hal9000 ~]$ chiave.sh -a cat -x [1234567890abcde1234567890abcde12] |
Usenet2Gopher.sh | uno script che copia e converte i file della posta elettronica o di newsgroup memorizzati da un server IMAP locale in formato maildir in file da rendere disponibili mediante un server Gopher; lo script crea anche un file gophermap. |