Trier /etc/hosts par IP

Tips   Shell   sort   IP  

En ajoutant quelques options a sort, comme ci-dessous, le tri par adresse IP se fait correctement

cat /etc/hosts | sort -n -t. +0 -1 +1 -2 +2 -3 +3 -4

Mon .tcshrc

Shell   dotfiles   tcsh  
Contenue du fichier ~/.tcshrc #{{{ Env if ($tty == '') then exit 0 endif setenv PATH /sbin:/usr/sbin:$PATH setenv EDITOR vim setenv VISUAL vim setenv PAGER more setenv LESS "-erX" setenv GIT_PAGER less setenv LANG en_US.UTF-8 setenv LC_TYPE en_US.UTF-8 if ${?TERM} then switch( $TERM ) case "xterm*": setenv TITLE "%{&#92;&#48;33]0;%[email protected]%m [%~]&#92;&#48;07%}" breaksw; default: setenv TITLE "" breaksw; endsw endif #}}} #{{{ Env tcsh set myuid = `id -u` set stty = `echo $tty | sed 's/tty//'` set prompt = "${TITLE}%h %[email protected]%m-$stty[%B%.03%b]%# " set prompt2 = "%[email protected]%M-$tty>%R?<%# " set time = ( 1 "%Uu %Ss %Er %Pcpu %X+%Dk %I+%Oio %Fpf+%Wsw" ) set who = "%n has %a %l from %M" set fignore = ( . [Voir plus]

Synchronisation Vulture

How To   Vulture   Shell  
Voici un exemple de script qui synchronise la configuration et base utilisé par Vulture il utilise nc (netcat) pour emmètre les alerte par mail #!/bin/sh DATE=`date +"%Y%m%d-%N"` SHORT_DATE=`date +"%Y%m%d"` RESULT="" SRV_MAIL="IP_SERV_MAIL" AIL_DST_ALERT="[email protected]" HOSTNAME=`hostname -f` REMOTE_SRV="ip-server-master" # # Synchro de la base sqlite rsync -t -o -g -e ssh $REMOTE_SRV:/var/www/vulture/sql/* /var/www/vulture/sql/ sync_db=$? if [ $sync_db -eq 0 ]; then echo $SHORT_DATE" - SYNC DB : OK" >> /var/log/Vulture-sync.log else echo $SHORT_DATE" - SYNC DB : NOK" >> /var/log/Vulture-sync.log (echo "HELO "$HOSTNAME; echo "mail from: "; echo "rcpt to: <"$MAIL_DST_ALERT">"; echo "DATA"; echo "From: [email protected]"$HOSTNAME; echo "Subject: ["$HOSTNAME"] "$SHORT_DATE" - Synchro de la base Vulture NOK"; echo "To: "$MAIL_DST_ALERT; echo; echo "Synchronisation de la base Vulture en echec. [Voir plus]

Nettoyer une arborescence

Tips   find   Shell  

Ce script rechercher les fichiers de plus de 30 jours et les effaces puis efface les dossiers vide.

#!/bin/sh

#
# Configuration
PWD_DIR=/home/ftp_users
TEMP_DIR=/tmp
LOG_SCRIPT=/var/log/menage_ftp.log
DATE_MAX_FICHIER=30
DATE_MAX_DOSSIER=30

#
# Fichiers temporaire
LISTEFICHIER=$TEMP_DIR/menagemail_listefichier
LISTEDOSSIER=$TEMP_DIR/menagemail_listedossier

#
# Recherche des fichiers
find /home/ftp_users/*/* -type f -mtime $DATE_MAX_FICHIER | sort -r > $LISTEFICHIER

#
# Recherche des dossiers
find /home/ftp_users/*/* -type d -mtime $DATE_MAX_DOSSIER | sort -r > $LISTEDOSSIER

cat  $LISTEDOSSIER | while read i; do
  $CONTENU_DOSSIER_USER=`ls -a $i | sed -e "/\.$/d" | wc -l`
  if [ $CONTENU_DOSSIER_USER -eq 0 ]; then
    echo "a" > /dev/null
  else
    rm -fr $i
  fi
done