fin backSQL;debut backapache

This commit is contained in:
adri 2017-12-13 15:45:30 +01:00
parent 17b678f06b
commit 3e47cdaeec
5 changed files with 160 additions and 2 deletions

15
back Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
CURDate=$(date "+%Y%m%d%H%M")
FileName=$CURDate$DBUSER
DIR="./"
DIRAPACHE="/var/www"
DBHOST="" #--host=
if [ $# -gt 0 ] ; then
DIR=$1
echo "$1"
fi
if [ ! -d $DIR ]; then
mkdir $DIR
echo $DIR
fi

31
backsql Executable file
View File

@ -0,0 +1,31 @@
#!/bin/bash
DBUSER=""
DBPASSWORD=""
CURDate=$(date "+%Y%m%d%H%M")
FileName=$CURDate$DBUSER
DIR="./"
DBHOST="" #--host=
if [ $# -gt 0 ] ; then
DIR=$1
fi
if [ ! -d $DIR ]; then
mkdir $DIR
fi
echo "Nom d'utilisateur"
read DBUSER #--user
unset DBPASSWORD #--password=
prompt="Mot de passe :"
while IFS= read -p "$prompt" -r -s -n 1 char
do
if [[ $char == $'\0' ]]
then
break
fi
prompt='*'
DBPASSWORD+="$char"
done
mysqldump --host=$DBHOST --user=$DBUSER --password=$DBPASSWORD --all-databases > "$DIR/$FileName.sql"

60
consigne.txt Normal file
View File

@ -0,0 +1,60 @@
Haute Ecole de la ville de Liège Catégorie Technique
2IS LINUX R. Billen
Exercices BASH mars 2015
Explications orales données en séance de laboratoire.
=== 1 ===
sudo ./apachestart
sudo ./mysqlstart
sudo ./apachestop
sudo ./mysqlstop
Signaler que lopération demandée va démarrer.
=== 2 ===
sudo ./apache [start | stop |…un des différents paramètres]
sudo ./mysql [start | stop |…un des différents paramètres]
Signaler une erreur de valeur du paramètre.
Signaler que lopération demandée va démarrer.
=== 3 ===
sudo ./serveur [apache|mysql] [start|stop|…un des différents paramètres]
Signaler une erreur de valeur de paramètre.
Signaler que chaque opération demandée va démarrer.
Sauvegarder dans des fichiers apache.log et mysql.log date, heure et opération (1 ligne par occurrence dun événement). Utiliser lopérateur de redirection >>.
NB : dans le répertoire /var/log, créer au préalable un répertoire nommé serveurs, et dans celui-ci, les deux fichiers vides apache.log et mysql.log avec des droits daccès adéquats. (justifiez votre choix).
=== 4 ===
Sudo ./bakmysql repertoirededestinationmysql
Le répertoire de destination doit exister sil nexiste pas (il convient décrire le code qui détecte cela), le créer (et le signaler à lutilisateur). Le fichier de destination contenant le script SQL contiendra dans son nom, la date et lheure de la sauvegarde et aura lextension .sql .
Il conviendra dutiliser lutilitaire mysqldump et de sauvegarder toutes les bases de données stockées sur le serveur.
Saisie au clavier du compte utilisateur mysql et du mot de passe (dans ce dernier cas, on ne peut pas voir la saisie de lutilisateur).
Exercice de dépassement : prévoir le déclenchement automatique de lopération de sauvegarde tous les jours à 03h.
=== 5 ===
Sudo ./bakapache repertoirededestinationapache
Ce script a pour but de sauvegarder une archive compressée du répertoire /var/www
Le répertoire de destination doit exister sil nexiste pas (il convient décrire le code qui détecte cela), le créer (et le signaler à lutilisateur). Le fichier de destination contiendra dans son nom, la date et lheure de la sauvegarde et aura lextension .tar.gz .
Exercice de dépassement : prévoir le déclenchement automatique de lopération de sauvegarde tous les jours à 04h.
=== 6 ===
Sudo ./bakhome repertoirededestinationhome
Ce script a pour but de sauvegarder une archive compressée du répertoire /home
Le répertoire de destination doit exister sil nexiste pas (il convient décrire le code qui détecte cela), le créer (et le signaler à lutilisateur). Le fichier de destination contiendra dans son nom, la date et lheure de la sauvegarde et aura lextension .tar.gz .
Exercice de dépassement : prévoir le déclenchement automatique de lopération de sauvegarde tous les jours à 05h.

23
serveur
View File

@ -1,9 +1,13 @@
#!/bin/bash
LOGPATH="./serveur.log"
(
echo "DEBUT $(date +"%D %T")"
if (( $EUID != 0 )); then
echo "Il faut les droit root pour executer la tache"
echo "FIN $(date +"%D %T")"
exit 1
fi
if [[ $# == 3 && $1 == @(apache2|mysql) && $2 == @(apache2|mysql) ]]; then
if [[ $# == 3 && $1 == @(apache2|mysql) && $2 == @(apache2|mysql) ]]; then #
if [ "$3" = "reload" ]
then echo "reload n'est pas une opéopération permise par mysql
Il sera donc arrêter puis démarer"
@ -28,5 +32,20 @@ if [[ $# == 3 && $1 == @(apache2|mysql) && $2 == @(apache2|mysql) ]]; then
echo "$3 non reconnu"
fi
elif [[ $1 == @(apache2|mysql) && $2 == @(start|stop|reload) ]]; then
case $2 in
start|stop)
service $1 $2
echo "SUCCESS : $1 $2"
;;
reload)
service $1 stop
service $1 start
echo "SUCCESS : $1 $2"
;;
*)
echo "ERROR : $2 non reconnu"
;;
esac
fi
echo "FIN $(date +"%D %T")"
) 2>&2 | tee -a $LOGPATH

33
serveur.log Normal file
View File

@ -0,0 +1,33 @@
Il faut les droit root pour executer la tache
Il faut les droit root pour executer la tache
DEBUT 12/13/17 11:33:40
Il faut les droit root pour executer la tache
DEBUT 12/13/17 11:34:18
Il faut les droit root pour executer la tache
FIN 12/13/17 11:34:18
DEBUT 12/13/17 11:34:33
Il faut les droit root pour executer la tache
FIN 12/13/17 11:34:33
DEBUT 12/13/17 11:34:46
FIN 12/13/17 11:34:48
DEBUT 12/13/17 11:35:46
SUCCESS : apache2 start
FIN 12/13/17 11:35:46
DEBUT 12/13/17 11:35:56
apache2 mysql sont start
FIN 12/13/17 11:35:57
DEBUT 12/13/17 11:36:08
apache2 mysql sont stop
FIN 12/13/17 11:36:15
DEBUT 12/13/17 11:36:36
reload n'est pas une opéopération permise par mysql
Il sera donc arrêter puis démarer
Le service mysql à bien redémarer
Le service apache démare
FIN 12/13/17 11:36:39
DEBUT 12/13/17 11:36:59
reload n'est pas une opéopération permise par mysql
Il sera donc arrêter puis démarer
Le service mysql à bien redémarer
Le service apache à bien été recharger
FIN 12/13/17 11:37:04