Menu Content/Inhalt
Accueil arrow Articles arrow A propos de Linux arrow Quelques scripts Shell très simples
Quelques scripts Shell très simples Convertir en PDF Version imprimable Suggérer par mail
Ecrit par Jean-Yves   
12-02-2006

Il s'agit de scripts shell très simples. Mon but est avant tout de montrer la syntaxe et l'allure générale d'un script. Si en plus certains peuvent vous etre utiles ....



1 Le Premier script donne une vue synthétique de votre système. Il est conseillé de le modifier selon les infos souhaitées.

if [ `id -u` != "0" ]

then

echo "Vous devez être root !!"

exit 1

fi


ID=`uname -r`

LOG=/tmp/server.$ID.txt
rm -f /tmp/server.$ID.txt.gz
rm -f /tmp/server.$ID.txt


server=`uname -n`

echo "************************" >> $LOG

echo "Uname " >> $LOG

echo "************************" >> $LOG

uname -a >> $LOG

echo "************************" >> $LOG

echo "Hostname " >> $LOG

echo "************************" >> $LOG

hostname >> $LOG

echo "***********************" >> $LOG

echo "Uptime" >> $LOG

echo "************************" >> $LOG

uptime >> $LOG

echo "************************" >> $LOG

echo "Model " >> $LOG

echo "************************" >> $LOG

uname -m >> $LOG

echo "************************" >> $LOG

echo "ip adress" >> $LOG

echo "************************" >> $LOG

ifconfig -a >> $LOG

echo "************************" >> $LOG

echo "Disk " >> $LOG

echo "************************" >> $LOG

df -h >> $LOG

echo "************************" >> $LOG

echo "CPU Usage" >> $LOG

echo "************************" >> $LOG

cat /proc/cpuinfo >> $LOG

echo "************************" >> $LOG

echo "TOP" >> $LOG

echo "************************" >> $LOG

top -b -n1 >> $LOG

echo "************************" >> $LOG

echo "Memory" >> $LOG

echo "************************" >> $LOG

cat /proc/meminfo >> $LOG

echo "************************" >> $LOG

echo "Runing processes" >> $LOG

echo "***********************" >> $LOG

ps auwx >> $LOG

echo "***********************" >> $LOG

echo "Network connection" >> $LOG

echo "***********************" >> $LOG

netstat -an >> $LOG


echo "***********************" >> $LOG

echo "Modules" >> $LOG

echo "***********************" >> $LOG

cat /proc/modules >> $LOG

echo "***********************" >> $LOG

echo "PCI Bus" >> $LOG

echo "***********************" >> $LOG

cat /proc/pci -v >> $LOG

echo "***********************" >> $LOG

echo "USB Bus" >> $LOG

echo "**********************" >> $LOG

lsusb >> $LOG

echo "***********************" >> $LOG

echo "Connected Users" >> $LOG

echo "**********************" >> $LOG

who -Hu >> $LOG

echo "***********************" >> $LOG

echo "Last connections" >> $LOG

echo "***********************" >> $LOG

last >> $LOG

echo "***********************" >> $LOG

echo "Products " >> $LOG

echo "************************" >> $LOG

rpm -qa >> $LOG


gzip $LOG






2 Permet de créer simplement un user 'de base'


#!/bin/sh

echo
echo
echo " *** Creation of user **** "
echo
echo
echo " Enter username for new user"
echo
read nom
VERIF_NOM=`cat /etc/passwd | grep $nom`
if [ -n "$VERIF_NOM" ]
then
clear
echo
echo
echo
echo " *** User already created ... *** "
echo
echo
echo
exit 1
else
useradd -s /usr/bin/bash -d /home/$nom $nom
mkdir -p /home/$nom
passwd $nom
echo
echo
echo "Processing please wait ..."
cd /home/$nom
chown -R $nom:users /home/$nom
echo
echo "USER $nom HAS BEEN CREATED"
fi



3 Permet de supprimer simplement un user de 'base'


#!/bin/sh
echo
echo
echo "*** DELETION OF A USER ***"
echo
echo
echo "Enter username to delete"
echo
echo
read nom
echo
echo
echo "ARE YOU SURE YOU WANT TO DELETE $nom (y or n)"
read rep
if test $rep = "y"
then
echo
echo
echo "Processing please wait ..."
/usr/sbin/userdel $nom
rm -r /home/$nom
echo
echo
echo "USER $nom HAS BEEN DELETED "
exit 1
else
echo "User $nom has not been deleted ..."
fi




4 Nettoie le système des fichiers core

#Nettoyage de printemps

#Limité aux fichiers core mais peut être généralisé à d'autres fichiers inutiles

find / -name "core" -exec rm {} \;
echo " Processing please wait ...."



5 Tue tous les Process associés à un utilisateur (A utiliser avec modération)


#!/bin/sh
cd /tmp
who | cut -c 1-10 | awk '{print $1}' > end_proc
for i in $(cat end_proc)
do
echo
echo
echo " Enter the user name "
read nom
echo
echo
echo " Do you really want to kill ALL process for $nom : (o ou n)"
read rep
if test $rep = "o"
then
for nom in $(cat /tmp/end_proc)
do
kill -9 $nom
done
exit 1
else
echo " Suppression has not been done "
exit 1
fi
done

6 Script de sauvegarde de vos données personnelles

#!/bin/sh

#**********************************
#* *
#* Script de sauvegarde de mes *
#* fichiers *
#* *
#* Cree le : 26/11/2004 *
#* Modifie : *
#* Auteur : Jean-Yves Bossard *
#* *
#**********************************

REP_SRC=/datas/
REP_DST=/other/home/jyb

# Controle du user root
if [ `id -u` != "0" ]
then
echo "************************************************"
echo "Vous devez etre root pour lancer le programme !!"
echo "************************************************"
exit
fi

#Je vais dans le repertoire a sauvegarde
cd $REP_SRC

#Controle de l'espace disque
VERIF_ESPACE=`df -h | egrep -i '[78910].% /other'`
if [ -z "$VERIF_ESPACE" ]
then
clear
echo "********************************************"
echo "ATTENTION REPERTOIRE PLEIN A 80%"
echo "********************************************"
exit 1

else

#Archivage du répertoire
label=datas-`date +%d%m%Y`.tar
tar -cvf $label $REP_SRC
gzip $label
RETOUR=$?
if [ $RETOUR != 0 ]
then
clear
echo "***** ERREUR *****" > /datas/scripts/BACKUP-ERR.log
ARRET=$RETOUR
echo "Code erreur : $RETOUR" >> /datas/scripts/BACKUP-ERR.log
/bin/cat /datas/scripts/result-backup | sendmail
rm /datas/scripts/BACKUP-ERR.log
ARRET
else

#Copie de l'Archive dans le repertoire d'accueil et envoie d'un mail pour info
mv $label.gz $REP_DST
echo "**************************************************************************" > /datas/scripts/result-backup
date >> /datas/scripts/result-backup
echo "" >> /datas/scripts/result-backup
echo "************************* Backup termine *******************************" >> /datas/scripts/result-backup
/bin/cat /datas/scripts/result-backup | sendmail
rm /datas/scripts/result-backup
fi
fi

7 Ce script vous permet de graver des fichiers sur un CD R ou RW. Pour connaître les numéros de votre graveur il faut lancer "cdrecord --scanbus". Rappel : pour effacer un CD RW "cdrecord -v dev=x.x.x blank=fast". Dans une prochaine version, j'integrerai ces éléments dans mon script.


#!/bin/sh
clear
echo
echo "************************************************"
echo
echo "Répertoire ou fichier à graver ?"
echo
echo "***********************************************"
read rep
echo
echo
echo "Le répertoire ou le fichier à graver est : $rep"
echo
echo
echo "************************************************"
echo
echo Création du système de fichier iso9660
echo
echo "************************************************"
echo
echo "Quel est le nom de l'image ?"
echo
read nom
echo
clear
mkisofs -r -o $nom $rep
echo
echo
echo "************************************************"
echo
echo La gravure du CD commence
echo
echo "************************************************"
echo
cdrecord -v -overburn speed=52 dev=0,0,0 $nom
RETOUR=$?
if [ $RETOUR != 0 ]
then
clear
echo "***** ERREUR *****" > /datas/scripts/GRAVAGE-ERR.log
ARRET=$RETOUR
echo "Code erreur : $RETOUR" >> /datas/scripts/GRAVAGE-ERR.log
dialog --title "Gravage des donnees perso sur CD" --backtitle "Programme : graver.sh" --msgbox "ERREUR de GRAVAGE VOIR FICHIER /datas/scripts/GRAVAGE-ERR.log" 15 50
/bin/cat /datas/scripts/GRAVAGE-ERR.log | sendmail
ARRET
else
echo
echo
echo "************************************************"
echo
echo Controle du gravage
echo
echo "***********************************************"
echo
umount /cdrom 2>&1 > /dev/null
mount /cdrom
ls -ltra /cdrom
echo
fi




8 Ecouter vos stations de radios préférées avec MPLAYER


#!/bin/sh

#**********************************
#* *
#* Script de pour ecouter mes *
#* radoios preferees *
#* *
#* Cree le : 25/10/2003 *
#* Modifie : *
#* Auteur : Jean-Yves Bossard *
#* *
#**********************************



PS3="Voici ci-dessous la liste des radios que l'on peut ecouter avec MPLAYER. Votre choix : "
clear
echo
echo "***********************************************"
echo "Appuyer sur Enter pour revenir sur la selection"
echo "***********************************************"
echo


select choix in CHERIE-FM EUROPE1 EUROPE2 FRANCE-MUSIQUE FRANCE-CULTURE RTL2 OUIE-FM FRANCE-INFO Quitter
do
case $REPLY in
1) mplayer -cache 128 mms://vip1.yacast.fr/encodercheriefm ;;
2) mplayer -cache 128 mms://vip8.yacast.fr/encodereurope1 ;;
3) mplayer -cache 128 mms://vip8.yacast.fr/encodereurope2 ;;
4) mplayer -cache 128 mms://a1234.l252143340.c2521.e.lm.akamaistream.net/D/1234/2521/666/reflector:43340?site ;;
5) mplayer -cache 128 mms://viptvr.yacast.fr/tvr_franceculture?site ;;
6) mplayer -cache 128 mms://vip2.yacast.fr/encoderrtl2 ;;
7) mplayer -cache 128 mms://vip7.yacast.fr/encoderouifm ;;
8) mplayer -cache 128 mms://vip9.yacast.fr/encoderfranceinfo ;;
9) exit;;
*) echo "Mauvais choix $REPLY , recommencez !!!";;
esac
done



Dernière mise à jour : ( 07-11-2008 )
 
< Précédent

Nombre de visiteur


Depuis le 12/03/2006