GAILLARD

Juin 152011
 

pour trouver les fichiers ouverts qui ont été supprimés :

lsof +aL1 <mount_point>

s’il y a « 0 » dans la colonne NLINK, c’est qu’il y en a.

# lsof +aL1 /applis
COMMAND     PID   USER   FD   TYPE      DEVICE   SIZE/OFF NLINK NODE NAME
dataserve 10432 sybase   96uW  REG 64,0x120001 1258291200     0   61 /applis (/dev/vg104/lvol1)
dataserve 10432 sybase   97uW  REG 64,0x120001  524288000     0   62 /applis (/dev/vg104/lvol1)
 Publié par à 9 h 56 min  Taggué avec :
Juin 152011
 

marre de chercher certains packages à installer quand je ne sais pas dans quel dépot il se trouve.

voici deux fonctions qui font les recherches pour moi (la deuxième fonction fait appel à la première.):

function swd { D=$(swlist -l depot |egrep -v '#') ; [ -n "$1" ] && echo "$D" |egrep "$1" || echo "$D" ; }
function swl { [ -z "$2" ] && L=$(swd) A=$1 || L=$(swd $1) A=$2 ; for i in $L ;do echo $i ; swlist -l fileset -s $i |egrep -i "$A" ; echo ; done ; }

Continue reading »

Juin 142011
 

Pour réduire une ligne de texte à un nombre de caractères max, voici la fonction qu’il vous faut:

function reduct_txt($txt,$nbchar="75") {
   $newtxt = html_entity_decode($txt);
   if(strlen($newtxt) > $nbchar) {
      $newtxt = substr($newtxt, 0, ($nbchar - 2)) . "...";
   }
   return $newtxt;
}

vous n’avez plus qu’à appeler cette fonction ainsi:
Continue reading »

Juin 142011
 

ajouter DISTINCT dans une requête mysql permet d’éliminer les doublons et donc d’avoir une liste des éléments simplifiée.

mais voilà, quand il y a plusieurs colonnes ça se complique, exemple:

mysql> SELECT DISTINCT obj_1_norm,obj_2_norm,obj_1_diam,obj_2_diam FROM FF_XII_tresors ;
 +----------------------+----------------------+----------------------+----------------------+
 | obj_1_norm           | obj_2_norm           | obj_1_diam           | obj_2_diam           |
 +----------------------+----------------------+----------------------+----------------------+
 | potion               | super-potion         | bloc de rouille      | ether                | 
 | potion               | collyre              | bloc de rouille      | ether                | 
 | potion               | potion               | bloc de rouille      | ether                | 
 | potion               | super-potion         | bloc de rouille      | super-potion         | 
 | potion               | antidote             | bloc de rouille      | super-potion         |
 {..snip..}
 +----------------------+----------------------+----------------------+----------------------+
 618 rows IN SET (0.01 sec)

Continue reading »

Juin 142011
 

la fonction suivante prend un nom de répertoire en argument et retourne un array contenant la liste de tous les fichiers récursivement:

Download : getFiles.sh

function getFiles($directory) {
    // Try to open the directory
    if($dir = opendir($directory)) {
        // Create an array for all files found
        $tmp = Array();
        // Add the files
        while($file = readdir($dir)) {
            // Make sure the file exists
            if($file != "." && $file != ".." && $file[0] != '.') {
                // If it's a directory, list all files within it
                if(is_dir($directory . "/" . $file)) {
                    $tmp2 = getFiles($directory . "/" . $file);
                    if(is_array($tmp2)) {
                        $tmp = array_merge($tmp, $tmp2);
                    }
                } else {
                    array_push($tmp, $directory . "/" . $file);
                }
            }
        }
        // Finish off the function
        closedir($dir);
        return $tmp;
    }
}

fonction récupérée sur php.net.

Juin 142011
 

dès fois, on lance une connexion ssh avec des commandes dedans.
dès fois, la connexion ssh se ferme pas, et c’est bien fatigant, surtout quand on veut accéder à plusieurs serveurs au travers d’une boucle.

solution, les redirection.
parceque si la connexion se ferme pas, c’est qu’il y a des fichiers ouverts, on squizze donc ces fichiers.

voici l’exemple d’une connexion qui ne se ferme pas, pourtant, aucune erreur :

$ ssh machine "/sbin/init.d/ldapclientd.rc stop && \
/sbin/init.d/ldapclientd.rc start"

et voici la même avec les redirections, cette connexion se fermera bien à la fin des commandes.

$ ssh machine "/sbin/init.d/ldapclientd.rc stop </dev/null>/dev/null 2>&1 && \
 /sbin/init.d/ldapclientd.rc start </dev/null>/dev/null 2>&1"