search
top

Named – Checkconf Bind

#!/bin/sh

echo -n > /tmp/liste-espace

echo « * Liste des fichiers de zone avec des espaces dans le domaine (find dans /var/named/) : » > /tmp/liste-espace
find /var/named/ -name « *.fwd » -print0 | xargs -0 grep -F  » . » | awk -F »: » {‘ print $1 ‘} >> /tmp/liste-espace
echo «  » >> /tmp/liste-espace

echo « * Liste des domaines avec un espace dans le named.com » >> /tmp/liste-espace
grep ‘zone « ‘ /etc/named.conf | grep -F ‘  » {‘ >> /tmp/liste-espace
echo «  » >> /tmp/liste-espace

echo « * Liste des domaines avec un _ dans le nom dans le fichier de zone (grep du named.conf) : » >> /tmp/liste-espace
grep ‘zone « ‘ /etc/named.conf | awk -F’ »‘ {‘ print $2 ‘} | grep « _ » >> /tmp/liste-espace
echo «  » >> /tmp/liste-espace

echo « * Liste des fichiers de zone manquant (grep dans syslog): » >> /tmp/liste-espace
grep ‘named’ /var/log/syslog | grep « file not found » | awk ‘{ print $7}’ | awk -F »/ » ‘{ print $1 }’ | sort | uniq >> /tmp/liste-espace
echo «  » >> /tmp/liste-espace
grep named /var/log/syslog | grep « file not found » >> /tmp/liste-espace

echo « * Nombre de zones : » >> /tmp/liste-espace
echo « Nombre de zone dans /etc/named.conf : `grep zone /etc/named.conf | wc -l`, nombre de fichier de zones : `ls -la /var/named/ | wc -l` » >> /tmp
/liste-espace
echo «  » >> /tmp/liste-espace

cat /tmp/liste-espace | mail -s « sujet mail » user@domain.ltd

Nettoyer une arboressance

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

Convertir un fichier ISO-8859-15 en UTF-8

Avec le binaire iconv :

iconv -f utf-8 -t iso-8859-15 fichier-ISO.txt > fichier-utf8.txt

le paquet debian :

# dpkg -l | grep iconv
ii  libtext-iconv-perl       1.4-3                                converts between character sets in Perl

Synchronisation Vulture

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"
MAIL_DST_ALERT="email@domaine.net"
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: root@"$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."; echo; echo "."; echo "QUIT") | nc $SRV_MAIL 25
fi

##
# Synchro des fichiers de configuration
rsync --exclude=httpd.conf -l -t -o -g -e ssh $REMOTE_SRV:/var/www/vulture/conf/*.\{conf,crt,tpl,key,chain\} /var/www/vulture/conf/
sync_conf=$?

if [ $sync_db -eq 0 ]; then
echo $SHORT_DATE" - SYNC CONF : OK" >> /var/log/Vulture-sync.log
else
echo $SHORT_DATE" - SYNC CONF : NOK" >> /var/log/Vulture-sync.log
(echo "HELO "$HOSTNAME; echo "mail from: "; echo "rcpt to: <"$MAIL_DST_ALERT">"; echo "DATA"; echo "From: root@"$HOSTNAME; echo "Subject: ["$HOSTNAME"] "$SHORT_DATE" - Synchro des fichiers de configuration Vulture NOK"; echo "To: "$MAIL_DST_ALERT; echo; echo "Synchronisation des fichiers de configuration Vulture en echec."; echo; echo "."; echo "QUIT") | nc $SRV_MAIL 25
fi

Nettoyer une arborescence

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

top