Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.
nombre réponses : 25

#0 -1 »  Hostname KVM tous pareils... » Le 27/06/2014, à 12:09

spectre3brad
Réponses : 0

Bonjour à tous,

j'ai un soucis avec KVM qui lorsque j'indique la commande suivante:

#kvmctl statuts

me renvoi ceci:

kvmctl status
The following VMs are running:

fr
fr
fr
fr
fr

Pourtant dans mes configurations VMs (fichier .conf) le hostname est bien renseigné.

Je ne comprend pas pourquoi il me renvoi ces "fr".

Merci.

#1 -1 »  Multiple choix avec dialog depuis fichier » Le 19/06/2014, à 18:05

spectre3brad
Réponses : 15

Bonjour à tous,

je cherche comment recuperer différents éléments ici des dates sous forme AAAA-MM-JJ contenues ligne par ligne dans un fichier. Sachant que ce le nombre de lignes et donc de choix dans ce documents sont aléatoires.

Comment insérer ceci avec la notion d’aléatoire sous un format "dialog" dans mon terminal pour choix semi-graphique?

Exemple:

Un jour mon fichier contient ceci:

2014-06-19
2014-06-01
2014-05-25

Ce qui me donnera une fenêtre dialog dans mon terminal avec ses trois choix.

Mais un autre jour je peut avoir seulement deux éléments dans mon fichier ou alors dix donc comment gérer ceci au niveau de dialog?

Merci.

#2 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 20/06/2014, à 10:20

spectre3brad
Réponses : 15

Bonjour Pingouinux,

merci pour ta réponse.

Zenity à l'air très intéressant seulement désolé j'ai pas précisé je suis à la fois sur Ubuntu 14.04 LTS mais aussi Debian 7. Mais il semble que Zenity ne soit pas installé de base sur Debian 7 et ou je suis le propriétaire serveur n'aime pas trop les nouvelles installation donc je dois faire avec ce que j'ai sad

Du coup je suis obligé de rester sur du dialog étant de base sur les deux systèmes.

#3 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 20/06/2014, à 16:05

spectre3brad
Réponses : 15

Non malheureusement cela ne semble pas fonctionner. J'ai fais plusieurs tests et recherches mais je sèche quelque peu pour le moment.

#4 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 21/06/2014, à 01:28

spectre3brad
Réponses : 15

Trouvé!

#! /bin/bash
DIALOG=${DIALOG=dialog}

# build dynamic menu options
cat /home/user/test/test.txt >/tmp/dirs.$$
i=1
while read line
do
  echo $i $line >>/tmp/options.$$
  i=`expr $i + 1`
done </tmp/dirs.$$
OPTIONS=`cat /tmp/options.$$`

# clean up
rm -f /tmp/dirs.$$
rm -f /tmp/options.$$

# present menu options
dialog --title "Title goes here" --menu "Please choose an option:" 15 40 20 ${OPTIONS} 2>/tmp/ans.$$

cat < /tmp/ans.$$
echo "\n\n"

Bon maintenant il me faut trouver comment faire une barre de progression pour rsync ...

#5 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 23/06/2014, à 11:01

spectre3brad
Réponses : 15

OK merci Pingouinux.

Bon j'ai un nouveau soucis qui j'en suis sur doit être tout simple en final mais je ne trouve pas sad

Voila une ligne de mon code qui ne va pas:

choix_date=`sed -n `$choix_date_menup` $list_save_dates_tri`

Cette ligne va créer la variable $choix_date à partir du contenu lu dans une ligne donné par l'utilisateur $choix_date_menu lue dans le fichier $list_save_dates_tri .

Seulement si je met par exemple:

choix_date=`sed -n `3p` $list_save_dates_tri`

Alors il va bien me donner le contenu de la ligne numéro 3 comme je le désire.

Seulement le numéro de ligne est ici une variable et forcement si je met $choix_date_menup il va le prendre pour une autre varible.

Donc comment faire?

#6 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 23/06/2014, à 12:12

spectre3brad
Réponses : 15

Il ne me donne aucune valeur.

$choix_date_menu = 3
Mais
$choix_date =

Je devrais par exemple avoir
$choix_date = 2014-06-23

Étrange.

#7 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 23/06/2014, à 15:35

spectre3brad
Réponses : 15

Voici le script dans son ensemble en cours de réalisation:

###======================================================================================
### Fichier     : restore-kvm.sh
### Auteur      : spectre3brad
### Licence     : GNU GPL v3 - http://www.gnu.org/licenses/gpl.html
### Description : Ce script permet de restaurer les VMs suite à sauvegarde par le script de sauvegarde fournit à l'entreprise XXX.
###======================================================================================
###Mise à jour (Changelog):
#18-06-2014 à 18H00: 400 Lignes ecrites. Ecriture du script en cours par spectre3brad.
#23-06-2014 à 12H30: 490 Lignes ecrites. AJout menu graphique dynamique pour choix dates du mode de restauration par dates. A present tout les fichiers temporaires sont dans le meme dossier utilisé par le script dans /tmp/dossier_utilise_par_le_script puis celui-ci est effacé à la fin.
###======================================================================================
###Dossiers utilisés dans le script:
#/media/Semaine (Media externe contenant les sauvegardes)
#/VT/backup/racine_os/etc/kvm (Fichiers configurations des VMs KVM sur le media externe)
#/VT/backup/racine_os/VT/disk (Disques virtuels sur le media externe)
#/VT/backup/racine_os/VT/ISO (ISO CD/DVD sur le media externe)
#/etc/kvm (Fichiers configurations des VMs KVM sur le serveur)
#/VT/disk (Disques virtuels des VMs KVM sur le serveur)
#/VT/ISO (ISO des VMs KVM sur le serveur)
#/tmp/KVM-Restor (Dossier contenant les fichiers temporaires generes par ce script)
###======================================================================================
###Notes:
#
###======================================================================================

#!/bin/sh

#set -n

###Variables:
#Dates:
date=`date +%F`
date_full=`date`

#Temps morts:
#Temps d'attente entre la derniere commande de lecture ou ecriture sur media externe avec demontage:
sleep_demontage=5
#Temps d'attente entre deux commande mail: (Permet de laisser du temps aux commandes pour passer correctement via Telnet).
sleep_mail=2

#Sources:
label_media=Semaine
source_full=/media/Semaine
source_kvm_configurations=/VT/backup/racine_os/etc/kvm
source_kvm_images_disques=/VT/backup/racine_os/VT/disk
source_kvm_iso=/VT/backup/racine_os/VT/ISO

#Destinations:
restauration=/VT/restauration
destination_kvm_configurations=/etc/kvm
destination_kvm_images_disques=/VT/disk
destination_kvm_iso=/VT/ISO
destination_kvm_full=/VT/backup

#Log (Avec rotation de 3 jours via logcrotate):
log=/var/log/Sauvegarde/KVM/KVM-Restor

#Fichiers temporaires:
destination_temp=/tmp/KVM-Restor
list_save_dates=/tmp/KVM-Restor/list-dates
list_save_dates_tri=/tmp/KVM-Restor/list-dates-tri

#Courriels parametres:
#Email avec lequel expedier les informations de reussite ou echec du script.
mail_expediteur=No-Reply-Script-Restauration-VMs@domain.tld
#Email destinataire des informations de reussite ou echec du script.
#mail_destinataire=informatique@domain.tld
#Email de test:
mail_destinataire=spectre3brad@domain.tld

#Compter nombre de lignes dans le fichier "list_save_dates_tri".
nb_lignes_list_save_dates_tri=`wc -l $list_save_dates_tri | cut -d ' ' -f1`



###Creation du log avec indication de debut de script.
echo "Debut de script de sauvegarde des machines virtuelles le $date_full \n\n" >> $log

###Message graphique pour verification de l'inseration du media externe.
dialog --backtitle "Programme de restauration des VMs KVM" --title "Montage du media externe - 0%" \
--msgbox "\n Assurez-vous d'avoir bien insere le media externe contenant la sauvegarde avant de continuer. \n\n Appuyez sur "OK" lorsque celui-ci est bien insere." 15 50

###Creation du point de montage.
echo "Creation du point de montage $source_full.\n" >> $log
mkdir $source_full/

###Montage du disque e-SATA de sauvegarde.
echo "Montage du disque e-SATA de sauvegarde.\n" >> $log
if [ !  -d $source_full/lost+found ]; then
	#Montage par label
	mount -L $label_media $source_full/
fi
echo "\n\n" >> $log

###Enregistrement du uuid du support de sauvegarde monté.
echo "Informations sur le support de sauvegarde monté:" >> $log
blkid | grep "KVM-Backup" >> $log
echo "\n\n" >> $log


###Copie de la sauvegarde depuis le media externe vers le dossier /tmp du systeme.
#rm -rf /tmp/restor-kvm/
#cp -r $source_full $destination_temp >> $log

###Creation du dossier temporaire
mkdir $destination_temp

###Fonction du type de restauration souhaite.
while true;
	do
		#Choix proposes.
		#echo -n "Choisir un mode de restauration: \n\n"
		#echo "1 - Par date \n"
		#echo "2 - Par dossier \n"
		#echo "3 - Complet \n"
		#echo "4 - Quitter \n\n"

		#echo "Choisir le mode restauration souhaite (1, 2 ou 3): \n"
		#read choix

		DIALOG=${DIALOG=dialog}
		fichtemp=`tempfile 2>/dev/null` || fichtemp=$destination_temp/dialog-choix-type-restor$$
		trap "rm -f $fichtemp" 0 1 2 5 15
		$DIALOG --clear --backtitle "Programme de restauration des VMs KVM" --title "Restauration des VMs KVM - 5%" \
			--menu "Choisissez un mode de restauration:" 20 51 4 \
			 "Date" "Restaurer toutes les VMs selon une date." \
			 "Personnalise" "Restaurer une ou plusieurs VM(s) ou ISO selon votre choix." \
 			 "Total" "Restauration totale des VMs, ISO ainsi que KVM meme. Utilisation pour nouveau serveur." 2> $fichtemp
		valret=$?
		choix=`cat $fichtemp`

case $valret in
 0)	echo "Vous avez choisi la restauration de type'$choix'" >> $log;;
 1) 	echo "Appuyez sur Annuler." >> $log;;
255) 	echo "Appuyez sur Echap." >> $log;;
esac

		#Interpretation du choix.	
		case $choix in
			"Date") echo "Restauration par date." >> $log; break;;
			"Personnalise") echo "Restauration par dossier." >> $log; break;;
			"Total") echo "Restauration complete." >> $log; break;;
			#"4") exit;;
			#"*") echo "Aucun choix valide selectionné." >> $log;;
		esac

done

echo "Lancement du choix $choix"



if [ $choix = Date ];

	then

		#echo "Lancement du de la retauration par date"

		#echo "Liste des dates disponibles pour la restauration sur le media externe actuellement monté:"

		ls -dr $source_full/2***-**-** > $list_save_dates
		sort -d -f -b $list_save_dates > $list_save_dates_tri

		cat < $list_save_dates_tri

		#Construction du menu dynamique avec options.
		cat $list_save_dates_tri >$destination_temp/dirs.$$
		i=1
		while read line
			do
  				echo $i $line >>$destination_temp/options.$$
 				i=`expr $i + 1`
			done <$destination_temp/dirs.$$
		OPTIONS=`cat $destination_temp/options.$$`

		#Nettoyage
		rm -f $destination_temp/dirs.$$
		rm -f $destination_temp/options.$$

		#Menu à option construit
		dialog --backtitle "Programme de restauration des VMs KVM" --title "Choix de date - 10%" --menu "Choisissez une date de restauration:" 15 40 20 ${OPTIONS} 2>$destination_temp/ans.$$

		choix_date_menu=`cat < $destination_temp/ans.$$`

		echo "choix_date_menu = $choix_date_menu"


		#choix_date=`sed -n `$choix_date_menup` $list_save_dates_tri`
		choix_date=$(sed -n "${choix_date_menu}p" "$list_save_dates_tri")

		echo "choix_date = $choix_date"

		###Confirmation graphique du choix de date.
		dialog --backtitle "Programme de restauration des VMs KVM"  --title "Confirmation date choisie - 15%" \
--msgbox "\n Vous avez choisie une retauration à la date du $choix_date." 15 50
		
		#echo "Selectionner une date de la liste afin de restaurer l'ensemble des machines virtuelles /n"
		#echo "Entrer sous forme AAAA-MM-JJ: \n"

		#read choix_date

		#cat $list_save_dates_tri | grep $choix_date

		#while [ $? = 1 ]

			#do
				#echo "AAAA-MM-JJ incorrect! Veuillez entrer un nouveau choix: \n"
				#read choix_date
				#cat $list_save_dates_tri | grep $choix_date
				#echo $?
		#done

		echo "Vous avez choisi de restaurer l'ensemble des machines virtuelles depuis la sauvegarde du $choix_date. \n"

		#while true;
			#do
				#Choix proposes.
				#echo -n "Voulez-vous restaurer les ISO (CD/DVD d'installation) en meme temps? \n\n"
				#echo "Y - Restauration des ISO accepte. \n"
				#echo "N - Restauration ISO refuse. \n"
		
				#echo "Entrer Y ou N: \n"
				#read Restauration_ISO_choix

				#Interpretation du choix.	
				#case $Restauration_ISO_choix in
					#Y* | y*) echo "Restauration des ISO accepte."; break;;
					#N* | n*) echo "Restauration ISO refuse."; break;;
					#"*") echo "Aucun choix valide selectionné.";;
				#esac

				$DIALOG --backtitle "Programme de restauration des VMs KVM" --title "ISO - Restauration - 20%" --clear \
				--yesno "Voulez-vous restaurer aussi les ISO (CD/DVD) ?" 10 30

				case $? in
					0)	Restauration_ISO_choix=Y;;
					1)	Restauration_ISO_choix=N;;
					255)	echo "Appuyé sur Echap. ";;
				esac

				if [ $Restauration_ISO_choix = Y ];
	
					then echo "Restauration des ISO (CD/DVD) selectione."
	

					else echo "Restauration des ISO (CD/DVD) non selectione."

				fi

		#done



		###Mettre ici l'arret des VMs
		#kvmctl stop *

		###Suppression des anciens fichiers de configurations des machines virtuelles KVM.
		echo "Suppression des anciens fichiers de configurations en cours..."
		rm -rf $destination_kvm_configurations
		echo "Suppression des anciens fichiers de configurations termine."

		###Restauration des fichiers de configurations des machines virtuelles KVM.
		echo "Restauration des fichiers de configurations en cours..."
		rsync -ca --progress $source_full/$choix_date/racine_os/etc/kvm/ --log-file=$log $destination_kvm_configurations
		echo "Restauration des fichiers de configurations terminés."

		###Verification que la source et la destination soient bien identiques.
		if diff $source_full/$choix_date/racine_os/etc/kvm/ $destination_kvm_configurations > /dev/null 2>&1
			then
				diff_conf=0
			else
				diff_conf=1
		fi

		###Suppression des anciens disques virtuels des machines virtuelles KVM.
		echo "Suppression des anciens disques virtuels en cours..."
		rm -rf $destination_kvm_images_disques
		echo "Suppression des anciens disques virtuels termine."

		###Restauration des disques virtuels des machines virtuelles KVM.
		echo "Restauration des disques virtuels en cours..."
		rsync -ca --progress $source_full/$choix_date/racine_os/VT/disk/ --log-file=$log $destination_kvm_images_disques
		echo "Restauration des disques virtuels terminés."

		###Verification que la source et la destination soient bien identiques.
		if diff $source_full/$choix_date/racine_os/VT/disk/ $destination_kvm_images_disques > /dev/null 2>&1
			then
				diff_disk=0
			else
				diff_disk=1
		fi




###Dev. Sortie variable $choix_date
echo "Varible choix_date = $choix_date"
###dev. $Restauration_ISO_choix
echo "Restauration_ISO_choix = $Restauration_ISO_choix"

		if [ $Restauration_ISO_choix = Y ];

			then

				###Suppression des anciens ISO des machines virtuelles KVM.
				echo "Suppression des anciens ISO en cours..."
				rm -rf $destination_kvm_iso
				echo "Suppression des anciens ISO termine."
				
				###Restauration des ISO des machines virtuelles KVM.
				echo "Restauration des ISO en cours..."
				rsync -ca --progress $source_full/$choix_date/racine_os/VT/ISO/ --log-file=$log $destination_kvm_iso
				echo "Restauration des ISO terminés."

				###Verification que la source et la destination soient bien identiques.
				if diff $source_full/$choix_date/racine_os/VT/ISO/ $destination_kvm_iso > /dev/null 2>&1
					then
						diff_ISO=0
					else
						diff_ISO=1
				fi

			else

				diff_ISO=0

		fi
		


###Verification de l'ensemble des tests de differences entre les sources et destinations.
echo "diff_conf = $diff_conf \n"
echo "diff_disk = $diff_disk \n"
echo "diff_ISO = $diff_ISO \n"
diff_total=`expr $diff_conf + $diff_disk + $diff_ISO`
echo "Total code erreur = $diff_total "

###Lancement des VMs
#kvmctl start *

###Envoi email

dialog --backtitle "Programme de restauration des VMs KVM"  --infobox "Veuillez patienter..." 3 34 ; sleep 15

if [ $diff_total = 0 ];
	then
		(
			$sleep_mail > /dev/null 2>&1		
			echo "ehlo host.domain.tld"
			$sleep_mail > /dev/null 2>&1
			echo "mail from:$mail_expediteur"
			$sleep_mail > /dev/null 2>&1
			echo "rcpt to:$mail_destinataire"
			$sleep_mail > /dev/null 2>&1
			echo "data"
			$sleep_mail > /dev/null 2>&1
			echo "subject:Restauration des VMs du $date: Succes"
			echo "La restauration des machines virtuelles KVM a reussie. Vous pouvez utiliser des a present vos machines virtuelles.\n\n"
			echo "##################################################"
			echo "##################################################"
			echo "##################################################\n\n"
			echo "Contenu du fichier log $log:\n"
			cat < $log
			echo "."
			$sleep_mail > /dev/null 2>&1
			echo "quit"
		) | telnet smtp.domain.tld 25  > /dev/null 2>&1

	else
		(
			$sleep_mail > /dev/null 2>&1	
			echo "ehlo host.domain.tld"
			$sleep_mail > /dev/null 2>&1
			echo "mail from:$mail_expediteur"
			$sleep_mail > /dev/null 2>&1
			echo "rcpt to:$mail_destinataire"
			$sleep_mail > /dev/null 2>&1
			echo "data"
			$sleep_mail > /dev/null 2>&1
			echo "subject:Sauvegarde des VMs du $date: Erreur !"
			echo "La restauration des machines virtuelles KVM du serveur semble avoir echouee. Verifier le fichier log pour en savoir plus.\n\n Reportez-vous au tutoriel en cas de besoin.\n\n"
			echo "##################################################"
			echo "##################################################"
			echo "##################################################\n\n"
			echo "Contenu du fichier log $log:\n"
			cat < $log
			echo "."
			$sleep_mail > /dev/null 2>&1
			echo "quit"
		) | telnet smtp.domain.tld 25 > /dev/null 2>&1
fi




		#Nettoyage du dossier /tmp
		rm $list_save_dates
		rm $list_save_dates_tri

fi











if [ $choix = Personnalise ];

	then
		echo "Restauration par dossier"

fi





if [ $choix = Total ];

	then
		echo "Restauration totale"

fi






























###Temps mort.
#Ajout d'une pause pour laisser le temps aux acces disques de se terminer correctement.
sleep $sleep_demontage

###Demontage du disque e-SATA de sauvegarde.
echo "Demontage du disque e-SATA de sauvegarde.\n" >> $log
#Demontage par label
umount $label_media
sleep 2
echo "\n\n" >> $log

###Suppression du point de montage.
echo "Suppression du point de montage $source_full.\n" >> $log
rm -rf $source_full/

###Suppression du dossier temporaire.
rm -rf $destination_temp

###Message graphique pour retirer le disque de sauvegarde/restauration.
dialog --backtitle "Programme de restauration des VMs KVM"  --title "Demontage du media externe - 95%" \
--msgbox "\n Vous pouvez retirer physiquement le media externe de restauration." 15 50

###Message graphique pour retirer le disque de sauvegarde/restauration.
dialog --backtitle "Programme de restauration des VMs KVM"  --title "Fin de la restauration - 100%" \
--msgbox "\n La restauration des machines virtuelles KVM est terminée. \n\n Vous pouvez à présent vérifier leur bon fonctionnement ou vous remettre à la documentation et au log situé à:($log) pour plus d'aide." 15 50

###Indication de fin de script.
echo "Fin de script de sauvegarde des machines virtuelles le $date_full" >> $log
echo "##################################################" >> $log
echo "##################################################" >> $log
echo "################################################## \n\n\n" >> $log

Voici la partie sur laquelle je travail pour le moment:

#Menu à option construit
		dialog --backtitle "Programme de restauration des VMs KVM" --title "Choix de date - 10%" --menu "Choisissez une date de restauration:" 15 40 20 ${OPTIONS} 2>$destination_temp/ans.$$

		choix_date_menu=`cat < $destination_temp/ans.$$`

		echo "choix_date_menu = $choix_date_menu"


		#choix_date=`sed -n `$choix_date_menup` $list_save_dates_tri`
		choix_date=$(sed -n "${choix_date_menu}p" "$list_save_dates_tri")

		echo "choix_date = $choix_date"

		###Confirmation graphique du choix de date.
		dialog --backtitle "Programme de restauration des VMs KVM"  --title "Confirmation date choisie - 15%" \
--msgbox "\n Vous avez choisie une restauration à la date du $choix_date." 15 50

Bon ne n'ai pas encore correctement commenté et il y à des parties de codes à nettoyer mais cela devrait de donner un visuel plus complet du sujet.

Voici enfin le resultat:

root@spectre-ubuntu-D-V:/home/spectre# sh /home/spectre/Bureau/Sauvegarde\ des\ machines\ virtuelles\ KVM/Restauration/Script\ actuellement\ en\ production/restore-kvm-graphique.sh
wc: /tmp/KVM-Restor/list-dates-tri: Aucun fichier ou dossier de ce type




















 Programme de restauration des VMs KVM
 ──────────────────────────────────────────────────────────────────────────────


              ┌────────Montage du media externe - 0%───────────┐
              │                                                │  
              │  Assurez-vous d'avoir bien insere le media     │  
              │ externe contenant la sauvegarde avant de       │  
              │ continuer.                                     │  
              │                                                │  
              │  Appuyez sur OK lorsque celui-ci est bien      │  
              │ insere.                                        │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              ├────────────────────────────────────────────────┤  
              │                   <  OK  >                     │  
              └────────────────────────────────────────────────┘  
                



mkdir: impossible de créer le répertoire «/media/Semaine/»: Le fichier existe
mount : /dev/sdb1 est déjà monté ou /media/Semaine/ est occupé
mount : selon mtab, /dev/sdb1 est déjà monté sur /media/Semaine
























Lancement du choix Date
ls: impossible d'accéder à /media/Semaine/2***-**-**: Aucun fichier ou dossier de ce type

 Programme de restauration des VMs KVM
 ──────────────────────────────────────────────────────────────────────────────


                   ┌────────Choix de date - 10%───────────┐
                   │ Choisissez une date de restauration: │  
                   │ ┌──────────────────────────────────┐ │  
                   │ │          1  2014-01-01           │ │  
                   │ │          2  2014-02-25           │ │  
                   │ │          3  2014-20-05           │ │  
                   │ │          4  2016-01-01           │ │  
                   │ │          5  2000-01-01           │ │  
                   │ │          6  2010-01-01           │ │  
                   │ │                                  │ │  
                   │ │                                  │ │  
                   │ └──────────────────────────────────┘ │  
                   ├──────────────────────────────────────┤  
                   │       <  OK  >    <Cancel>           │  
                   └──────────────────────────────────────┘  
                     



choix_date_menu = 3
choix_date = 

 Programme de restauration des VMs KVM
 ──────────────────────────────────────────────────────────────────────────────


              ┌───────Confirmation date choisie - 15%──────────┐
              │                                                │  
              │  Vous avez choisie une retauration à la date   │  
              │ du .                                           │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              ├────────────────────────────────────────────────┤  
              │                   <  OK  >                     │  
              └────────────────────────────────────────────────┘  
                



Vous avez choisi de restaurer l'ensemble des machines virtuelles depuis la sauvegarde du . 

























Restauration des ISO (CD/DVD) non selectione.
Suppression des anciens fichiers de configurations en cours...
Suppression des anciens fichiers de configurations termine.
Restauration des fichiers de configurations en cours...
sending incremental file list
rsync: change_dir "/media/Semaine//racine_os/etc/kvm" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
Restauration des fichiers de configurations terminés.
Suppression des anciens disques virtuels en cours...
Suppression des anciens disques virtuels termine.
Restauration des disques virtuels en cours...
sending incremental file list
rsync: change_dir "/media/Semaine//racine_os/VT/disk" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
Restauration des disques virtuels terminés.
Varible choix_date = 
Restauration_ISO_choix = N
diff_conf = 1 

diff_disk = 1 

diff_ISO = 0 

Total code erreur = 2 

 Programme de restauration des VMs KVM
 ──────────────────────────────────────────────────────────────────────────────








                      ┌────────────────────────────────┐
                      │ Veuillez patienter...          │  
                      └────────────────────────────────┘  
                        









umount : Semaine : introuvable
rm: impossible de supprimer «/media/Semaine/»: Périphérique ou ressource occupé

 Programme de restauration des VMs KVM
 ──────────────────────────────────────────────────────────────────────────────


              ┌───────Demontage du media externe - 95%─────────┐
              │                                                │  
              │  Vous pouvez retirer physiquement le media     │  
              │ externe de restauration.                       │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              │                                                │  
              ├────────────────────────────────────────────────┤  
              │                   <  OK  >                     │  
              └────────────────────────────────────────────────┘  
                




 Programme de restauration des VMs KVM
 ──────────────────────────────────────────────────────────────────────────────


              ┌────────Fin de la restauration - 100%───────────┐
              │                                                │  
              │  La restauration des machines virtuelles KVM   │  
              │ est terminée.                                  │  
              │                                                │  
              │  Vous pouvez à présent vérifier leur bon       │  
              │ fonctionnement ou vous remettre à la           │  
              │ documentation et au log situé                  │  
              │ à:(/var/log/Sauvegarde/KVM/KVM-Restor) pour    │  
              │ plus d'aide.                                   │  
              │                                                │  
              │                                                │  
              ├────────────────────────────────────────────────┤  
              │                   <  OK  >                     │  
              └────────────────────────────────────────────────┘  
                



root@spectre-ubuntu-D-V:/home/spectre# 

#8 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 23/06/2014, à 17:36

spectre3brad
Réponses : 15

Arf, mon média externe était vide à cause du script qui supprime le point de montage à la fin mais l’écriture ne devait pas être fini enfin bref c'est OK maintenant de ce coté.

Par contre j'ai un autre soucis n’étant pas au top en cut/sed/print. J'ai la chaîne de caractère suivante:
"/media/Semaine/2014-06-23"
Et je veux recuperer seulement le "2014-06-23" comment faire?
(Sachant que cette valeur AAAA/MM/JJ est bien sur variable).

Merci wink

#9 Re : -1 »  Multiple choix avec dialog depuis fichier » Le 26/06/2014, à 17:20

spectre3brad
Réponses : 15

Super ca marche du tonnere de Zeus! smile

Je peux continuer mon script...

Merci pour ton aide Pingouinux wink

#10 -1 »  Script sauvegarde VMs KVM » Le 11/04/2014, à 16:21

spectre3brad
Réponses : 1

Bonjour à tous,

je cherche actuellement à créer un script afin de sauvegarder mes machines virtuelles sous KVM et ce en deux temps:

1- Sauvegarder mes images et configurations VMs KVM vers un dossier de sauvegarde en local.
2- Sauvegarder le dossier de sauvegarde sur un disque externe.

Les sauvegardes auront une date et le script sera accompagné d'un fichier log d'une rotation de trois jours pour voir les différentes étapes du script. Le disque dur externe sera auto-monté et auto-démonté. Trois disque seront utilisés par raison de un par jour.

###

Voici mes dossiers sur lequels je travail actuellement:

/etc/kvm/ (Fichiers de configurations des machines virtuelles KVM)
/VT/backup/ (Dossier des sauvegardes images disques dur en local)
/VT/disk/ (Dossier des images disques dur VMs)

###

Voila ce à quoi j'ai pensé pour le moment:

- Structure du dossier backup local:

/VT/backup/
/VT/backup/Tutoriel_de_restauration.txt
/VT/backup/Sauvegarde-JJ-MM-AAAA/VM-1_fichier_de_configuration-JJ-MM-AAAA.kvm
/VT/backup/Sauvegarde-JJ-MM-AAAA/VM-1_image_disque_dur_virtuel-JJ-MM-AAAA.img
/VT/backup/Sauvegarde-JJ-MM-AAAA/VM-2_fichier_de_configuration-JJ-MM-AAAA.kvm
/VT/backup/Sauvegarde-JJ-MM-AAAA/VM-2_image_disque_dur_virtuel-JJ-MM-AAAA.img
[...]

- Au niveau script:

- Début de script
- Suppression du contenu des anciennes sauvegardes contenues dans /VT/backup/ qui sont anciennes de plus de trois jours.
- Sauvegarder les fichiers de configurations VMs /etc/kvm/ vers /VT/backup/Sauvegarde-JJ-MM-AAAA/
- Montage disque dur externe en /mnt/Sauvegarde-KVM/
- Vérifier le montage et recommencer si erreur jusqu'à trois fois.
- Suppression des anciennes sauvegardes du disque externe.
- Copie de /VT/backup/Sauvegarde-JJ-MM-AAAA/ (Date du jour) vers /mnt/Sauvegarde-KVM/ en incluant le tutoriel de restauration des VMs KVM dont sa source en local sera /VT/tutoriel_restauration.txt
- Vérifier qu'il n'y ai pas de différence entre /VT/backup/Sauvegarde-JJ-MM-AAAA/ (Date du jour) et /mnt/Sauvegarde-JJ-MM-AAAA/ sinon recommencer la copie.
- Démontage du disque dur externe.
- Envoi email pour confirmer fin de script.
- Fin de script.

###

Des idées?

Merci.

#11 Re : -1 »  Script sauvegarde VMs KVM » Le 16/06/2014, à 10:39

spectre3brad
Réponses : 1

Bon j'ai bien avancé sur mon script de sauvegarde qui passe actuellement en période de test.

Je suis donc en ce moment sur celui de restauration.

Seulement je bloque sur une chose:

Comment créer un choix de type "CASE" qui peut être variable? Exemple, je récupère le nom de plusieurs dossier sous forme de dates triés dans un dossier (ce que j'ai actuellement) et je dois créer un choix dans mon script pour que l'utilisateur fasse un choix dans ces différents éléments proposés. Mais comment faire un "CASE" lorsque le nombre d’éléments et leur nom peuvent être variables?

#12 -1 »  Boucle de comparaison et copie » Le 30/04/2014, à 12:04

spectre3brad
Réponses : 16

Bonjour à tous,

je cherche comment creer dans un script en cours la solution suivante:

Copie d'un dossier original vers un dossier de sauvegarde
|
Dossier original = dossier de copie ?
|
- Oui: Alors sortie de boucle.
|
- Non: Alors copie des différence entres les deux dossiers PUIS retest de (Dossier original = dossier de copie ?) jusqu'à trois tentative de la boucle sinon sortie.


Comment faire?

Merci.

#13 Re : -1 »  Boucle de comparaison et copie » Le 30/04/2014, à 14:10

spectre3brad
Réponses : 16

Bonjour Tiramiseb,

oui effectivement dans mon cas "dossier de copie" est le dossier de destination de la copie.

Pour rsync je pensai que c’était essentiellement pour le distant et non local.

#14 Re : -1 »  Boucle de comparaison et copie » Le 30/04/2014, à 14:33

spectre3brad
Réponses : 16

Donc si je fait la commande suivante:

rsync -ac /.../mon_dossier_source/ /.../mon_dossier_sauvegarde/ --log-file=/.../mon_log.log

Alors j'ai une copie avec -a (archive) donc complète et -c (checksum) donc avec vérification de l’intégralité entres les deux dossiers? Pour le checksum comment recuperer la sortie à la volée afin de passer à la ligne suivante du script si OK ou sinon recommencer la procedure jusqu'à trois fois maximum pour éviter de boucler indéfiniment?

#15 Re : -1 »  Boucle de comparaison et copie » Le 30/04/2014, à 15:17

spectre3brad
Réponses : 16

J'ai testé rsync -ca /source /destination est cela semble correct sauf la question de la potentielle erreur checksum.

D'une certaine façon ici ci mes deux répertoires ne sont pas identique après copie c'est que rsync à foiré quelque part non?

En fait à la base je veut sauvegarder des .conf .img .iso de mes machines virtuelles KVM le tout dans un dossier de sauvegarde et pour des VMs il faut mieux être sur d'avoir une sauvegarde béton et non erronée sinon aie. Donc voila pourquoi je cherche à vérifier que le dossier de sauvegarde soi bien identique à celui d'origine et que si ce n'est pas le cas alors relancer la procedure de copie. Par contre pour éviter de boucler sans fin je préfère limiter la procedure à trois fois maximum puis passer au reste du script.

J'ai déjà une sauvegarde en locale et là le script me permettrai de réaliser une deuxième sauvegarde du dossier de sauvegarde local vers un support externe d'où le besoin de vérifier qu'ils soient bien identiques.

#16 Re : -1 »  Boucle de comparaison et copie » Le 30/04/2014, à 16:37

spectre3brad
Réponses : 16

OK je vais voir ça.

Pour KVM j'avais pensé à freezer le temps de la sauvegarde mais j'avais tenter à chaud en prod avec un simple cp et cela à fonctionné (restauration sur autres PC pour test), après coup de chance ou non? J'avais recupéré ca sur Internet mais des tests seront refait au cas ou pour tout valider.

Encore merci pour ton aide en tout cas.

#17 Re : -1 »  Boucle de comparaison et copie » Le 02/05/2014, à 17:21

spectre3brad
Réponses : 16

Bonjour,

un petit soucis avec rsync:

celui-ci copie seulement les données modifiée entre la première sauvegarde et l'actuelle sauvegarde à l'instant "T". Seulement je tourne sur trois cartouches donc si par exemple ma cartouche du lundi est effacé le jeudi pour la sauvegarde du jeudi alors je perd les données du lundi non modifiées depuis?

Donc comment procéder pour que rsync copie toutes les données?

Merci.

#18 Re : -1 »  Boucle de comparaison et copie » Le 07/05/2014, à 12:47

spectre3brad
Réponses : 16

Bonjour,

Bon mon script avance bien, j'ai bientot terminé et une fois fini je partagerai pour aider ceux qui le veulent.

Pour la sauvegarde sur media oui je vais partir plutot sur un delta c'est effectivement plus simple.

Par contre là je bloque sur un chose:
Sur le media externe j'ai ceci:
2014-05-07/...
2014-05-06/...
2014-05-05/...
Divers/...
fichier.txt

Je cherche un moyen de supprimer le dossier le plus vieux parmis les dossiers nommés ici sous la forme "AAAA-MM-JJ/". Il faut se baser seulement sur le nom du dossier sous cette forme. Comment faire?

Encore merci.

#19 Re : -1 »  Boucle de comparaison et copie » Le 07/05/2014, à 22:19

spectre3brad
Réponses : 16

Merci Bruno ça m'a permis d'avancer à nouveau.

A présent je cherche comment obtenir la valeur en byte/octet de l'espace sur le média de sauvegarde puis la valeur en byte/octet nécessaire pour la sauvegarde comprise dans un dossier/

Cela afin de vérifier via boucle "While" si j'ai assez d'espace pour ma sauvegarde, sinon le dossier le plus vieux est supprimé et ce jusqu'à ce que l'espace disponible soit suffisant.

Question rattachée mais pas forcement très importante smile : Comment éviter de boucler indéfiniment si jamais un média trop petit est monté par erreur?

En tout cas merci à vous j'ai déjà super bien avancé et je vois le bout enfin smile

#20 Re : -1 »  Nouveautés dans Trusty » Le 30/03/2014, à 21:33

spectre3brad
Réponses : 2200

Il semblerait que le nouveau noyaux Linux devrait être libéré dans les heures à venir: http://www.phoronix.com/scan.php?page=n … px=MTY0ODA Peut-être pas trop tard pour le voir apparaître dans Ubuntu 14.04 LTS (Je l’espère).

#21 -1 »  OpenVPN et navigateur » Le 15/04/2014, à 08:39

spectre3brad
Réponses : 2

Bonjour à tous,

j'aimerai savoir comment connecter un navigateur à un serveur OpenVPN sans y connecter le reste du système.

C'est à dire que tout serait par défaut sur le réseau local sauf mon navigateur (Google Chrome de préférence) qui lui utiliserai une connexion VPN (OpenVPN).

J'imagine qu'il faut sans doute une sorte de proxy entre les deux à monter sur le système mais comment faire? De préférence si possible avec interface graphique.

Merci.

#22 Re : -1 »  OpenVPN et navigateur » Le 16/04/2014, à 15:37

spectre3brad
Réponses : 2

OK au moins c'est clair. Merci.

#23 Re : -1 »  Postfix - Transfert automatique pendant absence. » Le 13/03/2014, à 12:12

spectre3brad
Réponses : 6

OK je vais regarder ça.

Merci.

#24 Re : -1 »  Postfix - Transfert automatique pendant absence. » Le 13/03/2014, à 19:21

spectre3brad
Réponses : 6

J'ai réussi à créer une redirection email via alias avec solution Postfix-SQL-PHPmyAdmin.

A présent j'aimerai en plus garder une copie du mail reçu sur la boite en supplement du transfert.

Mail reçu sur user@domaine.tld -> Copie sur la boite locale + copie sur email externe (Alias)

Comment procéder?