DOC:UNIX:Commandes

De MonPtitSite
Sauter à la navigation Sauter à la recherche
Accueil SysAdmin Hobbies                  


Recettes de cuisine du sysadmin

Recettes de cuisine & commandes utiles

Comment dire à linux qu'un disque (LUN SAN) a changé de taille ?

la commande a lancer est :

 # blockdev --rereadpt /dev/sdx 
 (x = lettre associée au LUN)
 # dmesg 
 SCSI device sdc: drive cache: write back w/ FUA
 sdc: detected capacity change from 42949672960 to 214748364800
  sdc: sdc1
 SCSI device sdc: 419430400 512-byte hdwr sectors (214748 MB)
 sdc: Write Protect is off
 sdc: Mode Sense: a5 00 10 08
 # fdisk -l /dev/sdx
 Disk /dev/sdx: 214.7 GB, 214748364800 bytes
 255 heads, 63 sectors/track, 26108 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot      Start         End      Blocks   Id  System
 /dev/sdc1               1       26108   209712478+  8e  Linux LVM


Puis, il faut rescanner les chemins, soit avec en lancant simplement multipath soit en utilisant le démon multipathd

 # multipathd -k"resize multipath mpathX"

Comment zipper (ou traiter) un ensemble de fichiers contenant des caractères blancs dans le nom ?

la commande magique :

  find <nom rép>  -name '*.pdf' -print | sed "s/'/\\\'/g" | xargs -I "{}" zip -9m "{}".zip "{}"

que fait cette commande ?

elle recherche à partir d'un répertoire donné tous les fichiers PDF, affiche leurs noms, protège le caractère ' ' s'il y a lieu et ZIP le fichier en compression maximale

petite variante :

 find . -mtime +365 -name '*.pdf' -print | sed "s/'/\\\'/g" | xargs -I "{}" zip -9m "{}".zip "{}"

idem que précédemment, mais ne prend que les fichiers modifiés il y à plus d'un an à partir du répertoire courant

Comment supprimer les sous dossiers vides d'un répertoire

  find /symlnks/io/jobs/workflows/wkftwist -depth -mindepth 2 -type d -empty  -mtime +1  -print  | xargs rmdir

recherche tous les sous dossiers (-type d ) vides (-empty) modifiés il y a plus d'un jour (-mtime +1) en ne prenant en compte qu'à partir du 2è niveau (-depth -mindepth 2)

Commande equivalente à un "tree size" par répertoire

ex : trouver la taille des dossiers .trash" de MisTRAL

 du -k `find /mnt/nfsshare/6.0/MiSTRAL/raid -maxdepth 2 -name '*.trash' -type d  ` | perl -ni -e '$i += $_ ; END {printf "%.02f Mo" , $i/1024/1024 ."\n"}'

bash

créer 100 fichiers (vide) en 1 commande

Utilisation de l'opérateur .. :


 touch {0..9}{0..9}.fic


Libération du répertoire c:\Windows\winsxs sous windows 2008 R2 server (utilisé pour MAJ système)

  • commande à lancer dans une fenêtre "DOS" :
 c:\> dism /online /cleanup-image /spsuperseded