Outils pour utilisateurs

Outils du site


scripting:condition

BASH : Exemple de conditions

Créer un dossier pour chaque utilisateur dans /archives

# create username space

#!/bin/bash
for x in `ls /home`; do
if [[ -d /archives/$x ]]
then
echo "Dossier de $x existe."
else
mkdir /archives/$x
chown -R $x:$x /archives/$x
chmod -R 750 /archives/$x 
echo "Dossier de $x est maintenant disponible..."
fi
done

Contrôle de l'espace disque redirigé dans un fichier

# Espace disque

#!/bin/bash
date > /root/suivi/ctrl_disk.log
echo " " >> /root/suivi/ctrl_disk.log
echo "Espace disque libre/utilise/total des peripheriques montes :" >> /root/suivi/ctrl_disk.log
df -m >> /root/suivi/ctrl_disk.log
echo " " >> /root/suivi/ctrl_disk.log
echo "Inodes libres/utilisees des peripheriques montes :" >> /root/suivi/ctrl_disk.log
df -i >> /root/suivi/ctrl_disk.log
echo " " >> /root/suivi/ctrl_disk.log
exit

Contrôle de la mémoire et swap redirigé dans un fichier

# Usage memoire et swap

#!/bin/bash

echo "CONSO MEMOIRE / SWAP :" `date` >  /root/suivi/conso_memoire.log
echo " " >> /root/suivi/conso_memoire.log
free -m >> /root/suivi/conso_memoire.log
echo " " >> /root/suivi/conso_memoire.log
exit

Contrôle des substitutions login ajusté à chaque consultation

#supervision du sulog en ne voyant que ce qui a changé depuis la dernière visite

#!/bin/bash
cat /var/adm/sulog | grep " - "> /root/supervision/new_check
diff /root/supervision/last_check /root/supervision/new_check > /dev/pts/5
cat /root/supervision/new_check > /root/supervision/last_check

Contrôle les processus : 10 + CPU time et zombie

#Contrôle des processus les 10 + gourmands en tps CPU et 
#check la présence éventuelle de processus ZOMBIE

#!/bin/bash 
echo "Processus 10 + time CPU" > /dev/pts/6
prstat -s time 1 1 | head -11 > /dev/pts/6
echo "Processus a l'etat ZOMBIE:" > /dev/pts/6
prstat 1 1 | grep zombie > /dev/pts/6
exit > /dev/pts/6

Compte à rebours

#!/bin/bash

# COLOURS VARIABLES
RED="\033[1;31m"
GREEN="\033[1;32m"
END="\033[0m"

for (( i=10; i>=1; i-=1 ))
	do
	echo "Mise à feu dans "$i" secondes";
	sleep 1s;
	done
echo -e ""$RED"****************************";
echo -e "*      !!! BOUM !!!        *";
echo -e "****************************"$END"";

Exemple d'une commande qui écrit dans les logs

#!/bin/bash

# VARIABLES

red="\033[1;31m"
vert="\033[1;32m"
end="\033[0m"
log="/var/log/daemon.log"

# SYNTAXE KO
if [[ $# != 1 || "$1" != start && "$1" != stop && "$1" != act ]]; 
	then
        echo "Syntaxe de la commande :";
        echo -e "\n./dateur.sh "$red"[ start | stop | act ]"$end"\n";
        exit 0;

else 

# SYNTAXE OK
	[[ "$1" = "start" ]] && echo "[`date +%Y-%m-%d+%H:%M]` DEMARRAGE du dateur" >> $log && echo -e "\n"Démarrage $vert"OK"$end"\n" && exit 0;
	[[ "$1" = "stop" ]] && echo "[`date +%Y-%m-%d+%H:%M]` ARRET du dateur" >> $log && echo -e "\n"Arrêt $vert"OK"$end"\n" && exit 0;
	[[ "$1" = "act" ]] && echo "[`date +%Y-%m-%d+%H:%M]` ACT du dateur" >> $log && echo -e "\n"Action $vert"OK"$end"\n" && exit 0;

fi

scripting/condition.txt · Dernière modification: 15/04/2016 à 21:15 (modification externe)

Outils de la page