Bash

Rimpiazzare un disco in raid software su Linux

A volte capita che, dopo un lungo utilizzo, un disco si rovini e inizi a dare qualche problemino… Cosa succede quando di mezzo c’è un raid software? Se il disco che si sta rompendo è uno solamente, i dati sono ancora al sicuro ma è il caso di cambiarlo al più presto per evitare brutte sorprese! E comunque è sempre una mezza rogna dover cambiare un disco da un raid software…

Ad ogni modo, quando un disco in RAID 5 o in RIAD 1 deve essere rimpiazzato, dovete seguire i seguenti passi:

  1. Controllate /proc/mdstat, e se tutto è ok (cioè l’array raid è ancora integro ma il disco contiene ad esempio alcuni settori corrotti) marcate la partizione del disco incriminata come failed (sdb1 nel mio caso), altrimenti saltate al passo 2:
    mdadm --manage /dev/md0 --fail  /dev/sdb1
  2. Rimuovete la partizione dal raid array:
    mdadm --manage /dev/md0 --remove /dev/sdb1
  3. Spegnete il pc, cambiate il disco e riaccendetelo.
  4. A questo punto, se digitate
    cat /proc/mdstat

    dovreste vedere qualcosa tipo [U_U].

  5. Copiate adesso la tabella della partizioni da un disco funzionante (sda) sul nuovo disco (sdb):
    sfdisk -d /dev/sda | sfdisk /dev/sdb
  6. Aggiungete la nuova partizione al raid array:
    mdadm --manage /dev/md0 --add /dev/sdb1

Fatto! ;-)

Quando avete terminato, digitate

cat /proc/mdstat

e aspettate la ricostruzione dell’array.

Al termine dell’operazione (che può durare anche alcune, dipende dalla grandezza della partizione stessa) dovreste avere tutte “U” ([UUU]).

Script per rimuovere le directory .svn da un progetto

Quando non si vuole distribuire con i propri sorgenti anche le directory svn è sufficiente creare un export del progetto con il comando:
svn export svn://path_to_repository projectname

Spesso però non ho accesso al repositorio pertanto mi è toccato rimuovere a mano le varie directory .svn.

Fino a che si è trattato di un paio di directory l’ho sempre fatto a mano, ma proprio oggi mi sono trovato davanti ad un progetto con centinaia di directory annidate e quindi mi sono realizzato un semplice script che mi venisse in aiuto:

find . -type d -name .svn -exec rm -r '{}' \;

Script per rimuovere la tilde (~) finale dai file temporanei aperti con kate

Utilizzando kate come editor, i file temporanei che vengono salvati presentano tutti una fastidiosa tilde finale che a me personalmente pare alquanto inutile. Sono abituato a stare attento quando scrivo ed utilizzo degli editor (il buon vecchio vim insegna!). Pertanto ho realizzato questo mini script in bash per rimuovere i file temporanei una volta che ho salvato il documento finale.

#!/bin/bash
rm `find $1 | grep "~$"`

Il file in questione l’ho chiamato rmm (non vi dico il perchè) e l’ho posizionato in /usr/bin/
Dopo aver scritto qualcosa ed averlo salvato, non faccio nient’altro che aprire una shell, accedere alla directory con i sorgenti e lanciare il comando:
$ rmm .

oppure lanciare direttamente il comando $ rmm /home/matteo/src senza posizionarsi in nessun path specifico.
Ovviamente questo script è banale e potrebbe essere ovviamente migliorato. Se volete contribuire sarò ben lieto di aggiungere le vostre migliorie.