Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/06/2014, à 08:54

Hasyame

LOGFILE interne à un script

Bonjour à tous,

Je vous sollicite aujourd'hui pour deux (ou même trois questions) yikes

LA question big_smile :
En bref, j'ai un script de sauvegarde (usant des cp et un dump pour la BDD):


#!/bin/sh
#
#Script de Backup de Centreon/Nagios
#Version 0.9
#
#
#
#Par Benoît
#
###############################################################################
# ZONE A RENSEIGNER #
#
# Dé-commenter la ligne ci-dessous et ajouter en "" le lien de la sauvegarde (Exemple: C:\Program Files\Backup)
#varSave=""
#
#
###############################################################################
#
###############################################################################
# /!\ SHELL A EDITER AVEC PRUDENCE /!\
###############################################################################

###############################################################################
# 
###############################################################################

echo -e "\n -------------------------------------------------- "
echo -e " ... Bienvenue sur SupBackup de Benoit ... "
echo -e " -------------------------------------------------- \n\n"

mkdir /backup/
mkdir /backup/conf/
mkdir /backup/plugins/
mkdir /backup/sql/
mkdir /backup/conf/maps/

###############################################################################
# Arrêts des services de supervision sensible
###############################################################################

echo -e "\n -------------------------------------------------- "
echo -e " ... Arret du centre de supervision ... "
echo -e " -------------------------------------------------- \n\n"
# Arret des services Nagios, centreon(core) et centstorage
/etc/init.d/nagios stop
/etc/init.d/centcore stop
/etc/init.d/centstorage stop
echo -e "----------"
echo -e "DONE!"
echo -e "----------"

echo -e "\n -------------------------------------------------- "
echo -e " ... Sauvegarde des plugins ... "
echo -e " -------------------------------------------------- \n\n"

###############################################################################
# Sauvegarde de l ensemble des plugins presents et de leurs sous dossiers
###############################################################################

cp -R -p /usr/lib/nagios/plugins/* /backup/plugins/
if [ "$?" != "0" ]; then
    echo "[Error] copy failed!" 1>&2
    exit 1
fi
tar cfvz /backup/tar/plugins.tar.gz /backup/plugins/*
rm -f -R /backup/plugins/*
echo -e "----------"
echo -e "DONE!"
echo -e "----------"

echo -e "\n -------------------------------------------------------- "
echo -e " ... Sauvegarde des conf ... "
echo -e " -------------------------------------------------------- \n\n"

###############################################################################
# Sauvegarde de la configuration correspondante
###############################################################################

cp -p /etc/nagios/nagios.cfg /backup/conf/nagios.cfg
cp -p /etc/httpd/conf.d/nagios.conf /backup/conf/nagios.conf
cp -p /var/log/nagios/nagios.log /backup/conf/nagios.log
cp -p /etc/httpd/conf.d/centreon.conf /backup/conf/centreon.conf
cp -p /etc/nagios/ndo2db.cfg /backup/conf/ndo2db.cfg
cp -p /etc/nagios/ndomod.cfg /backup/conf/ndomod.cfg
cp -p /etc/nagvis/nagvis.ini.php /backup/conf/nagvis.ini.php
cp -p /usr/share/nagvis/share/userfiles/images/maps/* /backup/conf/maps/
if [ "$?" != "0" ]; then
    echo "[Error] copy failed!" 1>&2
    exit 1
fi
tar cfvz /backup/tar/conf.tar.gz /backup/conf/*
rm -f -R /backup/conf/*
echo -e "----------"
echo -e "DONE!"
echo -e "----------"

echo -e "\n -------------------------------------------------- "
echo -e " ... Sauvegarde de la base de donnee ... "
echo -e " -------------------------------------------------- \n\n"

###############################################################################
# Sauvegarde de la base de donnees
###############################################################################

mysqldump -u root centreon2 > /backup/sql/centreon2.sql
mysqldump -u root centreon2_storage > /backup/sql/centreon2_storage.sql
mysqldump -u root mysql > /backup/sql/mysql.sql
mysqldump -u root nagios  > /backup/sql/nagios.sql
if [ "$?" != "0" ]; then
    echo "[Error] dump failed!" 1>&2
    exit 1
fi
tar cfvz /backup/tar/sql.tar.gz /backup/sql/*
rm -f /backup/sql/*
echo -e "----------"
echo -e "DONE!"
echo -e "----------"

echo -e "\n -------------------------------------------------------- "
echo -e " ... Demarage du centre de supervision ... "
echo -e " -------------------------------------------------------- \n\n"

###############################################################################
# demarrer des services Nagios, centreon(core) et centstorage
###############################################################################

/etc/init.d/nagios start
/etc/init.d/centcore start
/etc/init.d/centstorage start
echo -e "----------"
echo -e "DONE!"
echo -e "----------"

De ce script de sauvegarde il faut que je fasse un log qui donne le résultat de copies (dans l'ensembles) et du dump... Or, je n'y parviens pas, et cela m'ennuie, je n'arrive d'ailleurs pas à trouver un cours sur les log de scripts sur internet... Si vous avez un lien ou que vous pouvez m'aider sur le sujet j'en serais soulagé.

---------------------------------------------------------------------------------------------------------------------------------------
Ma seconde question:

Est-ce que vous avez connaissance de livres (fiable d'après votre expérience) traitant du scripting LINUX? Une documentation de l'ensemble des commandes de scripting. Je suis prêt, pour mon proche anniversaire, à investir dans des livres pour mes études traitant du scripting UNIX et de l'administration UNIX en générale (plutôt RHEL like).

Dernière modification par Hasyame (Le 24/06/2014, à 09:02)

Hors ligne

#2 Le 24/06/2014, à 09:10

tiramiseb

Re : LOGFILE interne à un script

Salut,

Pour faire un log de manière simple, redirige les sorties de tes commandes dans un fichier avec l'opérateur de redirection « >> ».
Seconde possibilité, rediriger le retour complet du script dans un fichier lors de son exécution.
Autre possibilité, utiliser la commande tee pour enregistrer dans un fichier en même temps que c'est affiché à l'écran.

Si tu veux envoyer tes logs à (r)syslog pour les gérer avec le fichier de configuration de (r)syslog, tu peux utiliser la commande logger.

Une documentation de l'ensemble des commandes de scripting

« l'ensemble des commandes », c'est impossible. Car le scripting, c'est le fait d'utiliser des instructions de base et de les associer à toutes les commandes disponibles sur le système : on ne peut bien sûr pas faire un livre qui contient toutes les commandes proposées par tous les logiciels qui existent sur tous les UNIX ou même sur toutes les distributions Linux.

Concernant le choix d'un livre, si tu comprends l'anglais une valeur sûr c'est la collection des livres édités par O'Reilly (malheureusement, O'Reilly France a fermé il y a pas mal d'années).
Par exemple : http://shop.oreilly.com/product/9780596005955.do

Sinon, en français, les livres édités par Eyrolles sont plutôt de bonne qualité (attention, Eyrolles est un éditeur ET une librairie, ils vendent bien sûr aussi des livres qu'ils ne publient pas eux-mêmes).

Dernière modification par tiramiseb (Le 24/06/2014, à 09:16)

Hors ligne

#3 Le 24/06/2014, à 09:12

Hasyame

Re : LOGFILE interne à un script

Merci pour tout! Je vais regarder ça de suite!

Hors ligne