Per creare un file vuoto con una dimensione prestabilita usare il comando: Esempio creazione dile 20GB dd if=/dev/zero of=<nomefile> bs=1024000000 count=20
Categoria:BASH
Percentuale occupazione filesystem
Per estrapolare la percentuale di occupazione di un filesystem ed il relativo mountpoint usare il comando: df | grep -vE ‘^Filesystem|tmpfs|fileserver|devtmpfs’ | awk ‘{print $5 ” ” $1}’ Bozza di sctipt per il controllo automatizzato della percentuale di uso del fs: #!/bin/sh df -H | grep -vE ‘^Filesystem|tmpfs|fileserver|devtmpfs|cdrom’ | awk ‘{ print $5 ” ” …
Continua a leggere Percentuale occupazione filesystem
Archiviare file con find
Per archiviare file, ad esempio file di log, si può usare il comando find; ad esempio per storicizzare tutti i file più vecchi di n giorni si può usare la seguente sintassi: find . -type f -ctime +<n> -exec tar –remove-files -rf <nome_archivio>.tar {} \; && zip <nome_archivio>.tar.zip <nome_archivio>.tar && rm -f <nome_archivio>.tar Nota dalla …
Continua a leggere Archiviare file con find
Estrarre un range di orari da un log
Per estrarre le righe corrispondenti ad un range orario/data da un log usare sed con la seguente sintassi: sed -n ‘/<data start>/,/<data stop>/p’ <file> Esempio: sed -n ‘/Mon Oct 4 09:50:13/,/Mon Oct 4 09:50:30/p’ wifi.log
Trovare una stringa in una directory
Per sapere in quali file di una data directory si trova una stringa usare il comando: “grep -r “<stringa>” <path>”
Trovare file creati prima di n giorni
Per trovare tutti i file creati prima di un certo numero di giorni usare il comando: find . -type f -ctime <n giorni> -ls More than 30 days ago: -ctime +30 Less than 30 days ago: -ctime -30 Exactly 30 days ago: -ctime 30 Nota dalla pagina man di find: “n*24 hours ago. When find figures out how …
Continua a leggere Trovare file creati prima di n giorni
Sostituzione di una sottostringa
nx71@iNuvoPro ~ % pippo=’Ciao abc Alfonso, abc amico mio !’ nx71@iNuvoPro ~ % echo $pippo Ciao abc Alfonso, abc amico mio ! nx71@iNuvoPro ~ % echo ${pippo/abc/caro} Ciao caro Alfonso, abc amico mio ! nx71@iNuvoPro ~ % echo ${pippo//abc/caro} Ciao caro Alfonso, caro amico mio !
Sostituzione parte finale di una stringa
[root@centos ~]# variabile=”Questa è una prova” [root@centos ~]# echo $variabile Questa è una prova [root@centos ~]# echo ${variabile%prova} bella giornata Questa è una bella giornata
Eseguire comandi su host remoti
Installare il pacchetto “sshpass” per consentire l’uso di questa tecnica negli script al fine di rendere non interattiva l’autenticazione. Per eseguire comandi remotamente usare la seguente sintassi: sshpass -p ‘<password>’ ssh -t <user>@<host> ‘<comando>’
Copia file e directory di grandi dimensioni
Per effettuare la copia di file di grandi dimensioni usare il comando rsync che, oltre ad essere più veloce nella copia, permette anche il resume della copia. rsync -rPz –rsh=ssh <dir_souce> <user>@<hostname>:/<dir_dest>/