Liens de référence (informatique)

UNIX

Aliases

  • List all files sorted by reverse date (page display)

alias alert='ls -alrt | more'

  • Using "ducks to hunt space hogs" : du amélioré

alias ducks='du -cksx * | sort -rn | head -10'

Liste les 10 plus gros fichiers/sous-répertoires du répertoire courant
NB : ne fonctionne pas sur tous les *nix (nécessite une version récente de du et de sort)

remove old files in a directory (/!\ Très dangereux)

find /PATH/TO/FILES* -maxdepth 1 -type f -name "PATTERN" -mtime +DAYS -exec rm -f {} \;

exemple : tous les fichiers *.log vieux de plus de 30 jours, dans le répertoire courant
find . -maxdepth 1 -type f -name "*.log" -mtime +30 -exec echo {} \;
find . -maxdepth 1 -type f -name "*.log" -mtime +30 -exec rm -f {} \;

Open file deletion issue (why DF and DU report different values)

Si un fichier est supprimé (rm) alors qu'il est ouvert, UNIX ne supprime pas son INODE. Il faudra alors killer le process qui l'utilise, en l'identifiant via la comande lsof

/usr/sbin/lsof | grep "nom_du_point_de_montage"

Références :

Delete yum cache (on RHEL)

Le FS ne doit pas être plein pour que cete commande puisse fonctionner.

yum --enablerepo=* clean all

Référence : http://forums.fedoraforum.org/showthread.php?t=308325

Rsync

rsync synchronizes in one direction from source to destination. Therefore the following statement

rsync -avh --progress Source Destination

syncs everything from Source to Destination. The merged folder resides in Destination.

-a means "archive" and copies everything recursively from source to destination preserving nearly everything.
-v gives more output ("verbose").
-h for human readable.
--progress to show how much work is done.

If you want to only update the destination folder with newer files from source folder:

rsync -avhu --progress Source Destination

Référence : http://unix.stackexchange.com/questions/149965/how-to-copy-merge-two-directories


WINDOWS

Windows 10 Privacy tweaker

Remove files under winsxs directory

https://blogs.technet.microsoft.com/askpfeplat/2014/05/13/how-to-clean-up-the-winsxs-directory-and-free-up-disk-space-on-windows-server-2008-r2-with-new-update/

Fix too small applications on a very large screen

http://winaero.com/blog/how-to-fix-apps-that-look-small-on-high-dpi-and-high-resolution-displays/

Oracle

Export de données au format csv

Lister les objets invalides de la base Oracle

SQL> SELECT owner, object_type, object_name, status FROM dba_objects WHERE status = 'INVALID';

Divers

http://feenixdv.com/ : Bibhuti Narayan's website (SOPRA-STERIA from Noida India)

La Blockchain (Blog Astek) : très bon article de vulgarisation de cette technologie

Script_PurgeLogs

#!/usr/bin/ksh
set +x
# ENTREPRISE
# Objet       : Purge Logs
# Auteur      : MBE
# Fait le     : JJ/MM/AAAA
# Demandé par : ___
  APPLICATION="___"
  DESCRIPTION_SCRIPT="Purge Logs $APPLICATION"
  NOM_SCRIPT="Purgelogs_$APPLICATION"
  Fic_Log="./"$NOM_SCRIPT".log"
  REP_Travail="/___/"
#------------------------------------------------------------------------
#----------------------------------------------
#    -------------------------------------
# --| Définition des Fonctions de Base -- |
#    -------------------------------------
controle_code_retour(){
  #echo $ETAPE " - Code Retour : "$MaxRet # DECOMMENTER POUR MODE DEBUG
  if (( $MaxRet != 0 ))
  then
    echo $ETAPE " - Code Retour : "$MaxRet # COMMENTER POUR MODE DEBUG
    exit $MaxRet
  fi
}
# -----------------------------------------
initialisation_SCRIPT(){
  ETAPE="INITIALISATION DU SCRIPT"
  (( MaxRet = 0 ))
  controle_code_retour
  DATE_DEBUT=$(date +%d"-"%m"-"%Y"_"%H"."%M"."%S)
  echo "------------------------------"
  echo "Debut de traitement : "$DATE_DEBUT
  echo "------------------------------"
  echo $DESCRIPTION_SCRIPT
  echo "------------------------------"
}
# -----------------------------------------
sortie_SCRIPT(){
  ETAPE="FIN DU SCRIPT"
  DATE_FIN=$(date +%d"-"%m"-"%Y"_"%H"."%M"."%S)
  echo "------------------------------"
  echo "Fin de traitement : "$DATE_FIN
  echo "------------------------------"
  controle_code_retour
  exit $MaxRet
}
# -----------------------------------------
show_etape(){
echo ""
echo "---------------------------------------------------------------------"
echo " " $ETAPE
echo "---------------------------------------------------------------------"
echo ""
}
#----------------------------------------------
#    -------------------------------------
# --| Définition Fonctions et Procédures  |
#    -------------------------------------

spinner()
{
    pid=$1
    delay=0.5
    spinstr='|/-\'
    while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
        temp=${spinstr#?}
        printf " [%c]  " "$spinstr"
        spinstr=$temp${spinstr%"$temp"}
        sleep $delay
        printf "\b\b\b\b\b\b"
    done
    printf "    \b\b\b\b"
}

waitbar()
{
    pid_wb=$1
    delay_wb=0.5
    while [ "$(ps a | awk '{print $1}' | grep $pid_wb)" ]; do
        echo -n "."
        sleep $delay_wb
    done
}

countbar()
{
    pid_count=$1
    echo "NOMBRE DE FICHIERS TROUVES : "
    delay_count=1
    while [ "$(ps a | awk '{print $1}' | grep $pid_count)" ]; do
       nblignes=$(wc -l $Fic_Log | awk '{print $1}')
       printf "\r%-${15}s" "$nblignes"
        sleep $delay_count
    done
    nblignes=$(wc -l $Fic_Log | awk '{print $1}')
    printf "\r%-${15}s" "$nblignes"
}


#----------------------------------------------
initialisation_SCRIPT
#-------------------------------------------------
set +x
#    -------------------------------------
# --| Définition des variables ---------- |
#    -------------------------------------
AgeMax=28
#--------------------------------------------------
#------------------\_[MAIN]_/--------------------- \
ETAPE=$DESCRIPTION_SCRIPT
show_etape
#----------------------------------------------
ETAPE="Etat du FS - $REP_Travail - avant suppression"
show_etape
df -k $REP_Travail

ETAPE="Liste des fichiers vieux de plus de $AgeMax jours"
show_etape
(find $REP_Travail -maxdepth 3 -type f -mtime +$AgeMax -exec echo {} \; > $Fic_Log) &
countbar $!
#spinner $!

echo
echo "Afficher la liste des fichiers ? (O/N)"
read reponse

if [[ $reponse = "O" || $reponse = "o" ]]
then
  cat $Fic_Log
fi


ETAPE="Suppression des fichiers"
show_etape
echo
echo "Supprimer les fichiers ? (O/N)"
read reponse

if [[ $reponse = "O" || $reponse = "o" ]]
then
  echo "Suppression en cours"
  find $REP_Travail -maxdepth 3 -type f -mtime +$AgeMax -exec rm -f {} \;
  (( MaxRet = $MaxRet + $? ))
  controle_code_retour
  if (( $MaxRet==0 ))
  then
    echo "Suppression terminee"
  else
    echo "Suppression echouee"
  fi
else
  echo "Suppression annulee"
fi

ETAPE="Etat du FS - $REP_Travail - apres suppression"
show_etape
df -k $REP_Travail

#----------------------------------------------
(( MaxRet = $MaxRet + $? ))
controle_code_retour
#------------------------------------------------- /
#--------------------------------------------------
sortie_SCRIPT

Modèle Script shell Unix (ksh)

 

#!/usr/bin/ksh
#________________________________________________________________________
# ENTREPRISE
# Objet       :
# Auteur      :
# Fait le     : //
# Demandé par :
  DESCRIPTION_SCRIPT=""
  NOM_SCRIPT=""
#¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
#______________________________________________
#    _____________________________________
# --| Définition des Fonctions de Base -- |
#    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
controle_code_retour(){
  #echo $ETAPE " - Code Retour : "$MaxRet # DECOMMENTER POUR MODE DEBUG
  if (( $MaxRet != 0 ))
  then
    echo $ETAPE " - Code Retour : "$MaxRet # COMMENTER POUR MODE DEBUG
    exit $MaxRet
  fi
}
# -----------------------------------------
initialisation_SCRIPT(){
  ETAPE="INITIALISATION DU SCRIPT"
  (( MaxRet = 0 ))
  controle_code_retour
  DATE_DEBUT=$(date +%d"-"%m"-"%Y"_"%H"."%M"."%S)
  echo "------------------------------"
  echo "Début de traitement : "$DATE_DEBUT
  echo "------------------------------"
  echo $DESCRIPTION_SCRIPT
  echo "------------------------------"
}
# -----------------------------------------
sortie_SCRIPT(){
  ETAPE="FIN DU SCRIPT"
  DATE_FIN=$(date +%d"-"%m"-"%Y"_"%H"."%M"."%S)
  echo "------------------------------"
  echo "Fin de traitement : "$DATE_FIN
  echo "------------------------------"
  controle_code_retour
  exit $MaxRet
}
# -----------------------------------------
show_etape(){
echo ""
echo "_____________________________________________________________________"
echo " " $ETAPE
echo "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯"
echo ""
}
#______________________________________________
#    _____________________________________
# --| Définition Fonctions et Procédures  |
#    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

#¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
initialisation_SCRIPT
#_________________________________________________
set +x
#    _____________________________________
# --| Définition des variables ---------- |
#    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


#__________________________________________________
#¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\_[MAIN]_/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ \
ETAPE=$DESCRIPTION_SCRIPT
show_etape
#¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

#______________________________________________
(( MaxRet = $MaxRet + $? ))
controle_code_retour
#_________________________________________________ /
#¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
sortie_SCRIPT

 

Sous-catégories

Scripts

Scripts Unix/Linux et autres