#1 Le 26/06/2008, à 12:37
- n3o51
Probleme Script_Auto_install
Bonjour a tous.
Voila j'ai envie de créer un script qui permettrai de sauvegarder rapidement et facilement restaurer le système ...
Je passe mon cahier des charges.
#######################
# CAHIER DES CHARGES #
#######################
But :
permet de creer une sauvegarde de apt ,du sources.list
de backup le home peut etre opt ...
Requis : Zenity
Menu :
Choix menu restauration ou sauvegarde
Menu sauvegarde ⇒
- Creer votre dossier de sauvegarde → qui contiendra tout les backups ...
- Sauvegarder votre liste des paquets
- Sauvegarder votre sources.list
-
- Sauvegarder /opt
Menu Restaure ⇒
- Restaurer list des paquets
- Restaurer sources.list
- Restaurer /home → ou le restaurer
- restaurer /opt → ou le restaurer
Menu auto_installation ⇒
Un menu s'ouvre avec les programmes disponible a l'installation
Je viens de commencer et j'ai déjà un soucis a la fin la sauvegarde ne ce créer pas pour le sources list et les paquets.
Apres je voudrai integrer un systeme qui permettrai de choisir la ou on souhaite mettre tout les backups et de tout sauvegarder dedans
#!/bin/bash
DATE=`date +%F`
zenity --info --title='Script Auto_install Version 0.1 Alpha' --text="Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51"
## Choix du type d'actions
ACT=$(zenity --list --checklist --width=400 --height=350 \
--title "" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Menu sauvegarde" \
FALSE "Menu restauration" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
exit
fi
# Menu sauvegarde
echo "$ACT" | grep "Menu sauvegarde" >/dev/null
if [ "$?" = 0 ] ; then
(zenity --list --checklist --width=400 --height=350 \
--title "=== Menu Sauvegarde ===" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Creer votre dossier de sauvegarde" \
FALSE "Sauvegarder sources.list et les paquets " \
FALSE "Sauvegarder votre repertoire HOME" \
FALSE "Sauvegarder votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
# Menu Restauration
echo "$ACT" | grep "Menu restauration" >/dev/null
if [ "$?" = 0 ] ; then
(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu restauration ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Restaurer votre liste des paquets" \
FALSE "Restaurer votre sources.list " \
FALSE "Restaurer votre repertoire Home" \
FALSE "Restaurer votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
############ Sauvegarder sources.list liste des paquets #####################
echo "$ACT" | grep "Sauvegarder sources.list et les paquets" >/dev/null
if [ "$?" = 0 ] ; then
cd $HOME;
mkdir $DATE;
cp /etc/apt/sources.list ~/$DATE/sources.$DATE.list && dpkg --get-selections > ~/$DATE/paquets.$DATE.list;
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
Dernière modification par n3o51 (Le 26/06/2008, à 12:40)
Welcome to the real world
________________________________
Hors ligne
#2 Le 26/06/2008, à 13:25
- redisded
Re : Probleme Script_Auto_install
pour le fait que les copies ne se fassent pas à la fin du sciprt, il me semble avoir déja eu des pb en utilisant ~ pour faire référence au dossier home de l'utilisateur à l'interieur d'un script.
Je te suggere dans un premier temp de refaire le test en appelant ce dossier de cette maniere :
/home/$USER
Si cela ne fonctionne pas, une chose essentielle à faire lorsque tu écris un script (merci Ras' ) est de le lancer de cette maniere :
bash -x monscript 2&>log
De cette maniere, un fichier log sera créé dans le meme dossier que le script dans lequel tu obtiendra le détails des actions éfféctuées par le script, et surtout les erreurs éventuelles qu'il a rencontré.
C'est vaiment un outil indispensable, pour le debuggage d'un script.
La prochaine fois que tu rencontre une erreur,je te suggere donc de poster directement le contenu de ce fichier log en expliquant le pb que tu rencontre.
Pour pouvoir choisir l'emplacement des backup, tu peut insérer quelque chose de ce genre :
repdest=$(zenity --file-selection --directory --title="choisissez le repertoire de destination pour vos sauvegarde.")
et utiliser ensuite $repdest pour faire référence à ce dossier dans tes commandes cp.
Pour plus d'infos sur zenity, je te conseille cette page : http://library.gnome.org/users/zenity/2.22/
function hs {
Je suis en train d'écrire un autre script qui me prend pas mal de temp en ce moment mais je ne devrais plus en avoir pour tres longtemp.
Dès que j'aurais finalisé ça, je me pencherais un peu plus sur l'écriture de ce script avec toi (enfin si tu le souhaite ).
}
N'hésite pas à poser une question si tu as un pb (avec le fichier log comme expliqué plus haut si possible ) je suivrais la discussion et te répondrais dans la mesure de mes compétences.
Dernière modification par redisded (Le 26/06/2008, à 13:27)
Hors ligne
#3 Le 26/06/2008, à 14:35
- n3o51
Re : Probleme Script_Auto_install
J'ai trouvé je posterai l'anvencement ici
Welcome to the real world
________________________________
Hors ligne
#4 Le 26/06/2008, à 15:41
- n3o51
Re : Probleme Script_Auto_install
function hs {
Je suis en train d'écrire un autre script qui me prend pas mal de temp en ce moment mais je ne devrais plus en avoir pour tres longtemp.
Dès que j'aurais finalisé ça, je me pencherais un peu plus sur l'écriture de ce script avec toi (enfin si tu le souhaite wink ).
}
Ok si tu le souhaite
je lance mais j'ai pas d'erreur pour creer le fichiers de sauvegarde rien dans le log
Welcome to the real world
________________________________
Hors ligne
#5 Le 26/06/2008, à 15:44
- n3o51
Re : Probleme Script_Auto_install
Oups !!!
++ date +%F
+ DATE=2008-06-26
+ zenity --info '--title=Script Auto_install Version 0.1 Alpha' '--text=Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51'
++ zenity --list --checklist --width=400 --height=350 --title '' '--text=Veuillez sélectionnez les informations demandés:' --column=Selection --column=Categories TRUE 'Menu sauvegarde' FALSE 'Menu restauration' FALSE 'Menu Auto_install'
+ ACT='Menu sauvegarde'
+ '[' 0 '!=' 0 ']'
+ echo 'Menu sauvegarde'
+ grep 'Menu sauvegarde'
+ '[' 0 = 0 ']'
++ zenity --list --checklist --width=400 --height=350 --title '=== Menu Sauvegarde ===' '--text=Veuillez sélectionnez les informations demandés:' --column=Selection --column=Categories TRUE 'Creer votre dossier de sauvegarde' FALSE 'Sauvegarder sources.list et les paquets ' FALSE 'Sauvegarder votre repertoire HOME' FALSE 'Sauvegarder votre repertoire OPT'
+ SAV='Creer votre dossier de sauvegarde'
+ '[' 0 '!=' 0 ']'
+ echo 'Menu sauvegarde'
+ grep 'Menu restauration'
+ '[' 1 = 0 ']'
+ echo 'Menu sauvegarde'
+ grep 'Menu Auto_install'
+ '[' 1 = 0 ']'
+ echo 'Creer votre dossier de sauvegarde'
+ grep 'Creer votre dossier de sauvegarde'
restaur.sh: line 115: erreur de syntaxe : fin de fichier inattendue
MOn script
lol j'ai du mal
#!/bin/bash
DATE=`date +%F`
zenity --info --title='Script Auto_install Version 0.1 Alpha' --text="Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51"
## Choix du type d'actions
ACT=$(zenity --list --checklist --width=400 --height=350 \
--title "" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Menu sauvegarde" \
FALSE "Menu restauration" \
FALSE "Menu Auto_install" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
exit
fi
# Menu sauvegarde
echo "$ACT" | grep "Menu sauvegarde" >/dev/null
if [ "$?" = 0 ] ; then
SAV=$(zenity --list --checklist --width=400 --height=350 \
--title "=== Menu Sauvegarde ===" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Creer votre dossier de sauvegarde" \
FALSE "Sauvegarder sources.list et les paquets " \
FALSE "Sauvegarder votre repertoire HOME" \
FALSE "Sauvegarder votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
# Menu Restauration
echo "$ACT" | grep "Menu restauration" >/dev/null
if [ "$?" = 0 ] ; then
RES=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu restauration ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Restaurer votre liste des paquets et votre sources list " \
FALSE "Restaurer votre repertoire Home" \
FALSE "Restaurer votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
# Menu Auto_install
echo "$ACT" | grep "Menu Auto_install" >/dev/null
if [ "$?" = 0 ] ; then
AUT=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu Auto_install ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Installer les logiciels vidéo" \
FALSE "Installer Amsn" \
FALSE "Installation Automatique des programmes" \
FALSE "Installation manuelle" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
#############################
#### ####
####Categories Sauvegarde####
#############################
##1. Creation du dossier de sauvegarde
echo "$SAV" | grep "Creer votre dossier de sauvegarde" >/dev/null
if [ "$?" = 0 ] ; then
zenity --entry \
--title="Creation de votre dossier de sauvegarde" \
--text="Selectionner ou creer votre dossier" \
--entry-text "/home/vous/votredossier" ;
if [ "$?" = 0 ] ; then
mkdir -p $?
else
zenity --error --title="Une erreur est survenue" --text="Aucun chemin rentré" ;
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue !!!"
fi
fi
##3. Sauvegarder sources.list liste des paquets
echo "$SAV" | grep "Sauvegarder sources.list et les paquets" >/dev/null
if [ "$?" = 0 ] ; then
cd $HOME;
mkdir $DATE;
cp /etc/apt/sources.list ~/$DATE/sources.$DATE.list && dpkg --get-selections > ~/$DATE/paquets.$DATE.list;
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
Dernière modification par n3o51 (Le 26/06/2008, à 15:55)
Welcome to the real world
________________________________
Hors ligne
#6 Le 26/06/2008, à 16:25
- redisded
Re : Probleme Script_Auto_install
Il manque un fi a la ligne 92 (ou ailleurs a toi de voir) pour fermer le
if [ "$?" = 0 ] ; then
de la ligne 78
dans ton fichier log, tu peu voir que la derniere commande éxécutée avant le bug est justemnt le echo qui est juste avant ce if pas fermé
Le message : "fin de fichier inattendu" signifie bien souvent q'une boucle ou une condition est mal fermée, voir qu'il manque un ' ou un " (commentaire non fermé par exemple).
J'ai le droit à cette erreur au premier test de tous mes scripts quasiment, donc autant t'y habituer parce que tu rencontra encore surement souvent ce message d'erreur
Dans ce cas, essai de voir quelle est la derniere commande qui a fonctionné et regarde les instructions qui viennent juste apres dans ton script.
Dernière modification par redisded (Le 26/06/2008, à 16:25)
Hors ligne
#7 Le 26/06/2008, à 16:25
- n3o51
Re : Probleme Script_Auto_install
Je viens de modifier mon script j'ai pas d'erreurs mais le dossier de sauvegarde n'est pas pris en compte et le fichiers date ne ce met pas a l'interieur du repertoire de destination.Aussi a chaque fois le script ce ferme apres une action j'aimerais qu'il revienne au menu precedent a chaque fois quand il as terminer comment faire merci
Le log et le script →
++ date +%F
+ DATE=2008-06-26
+ zenity --info '--title=Script Auto_install Version 0.1 Alpha' '--text=Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51'
++ zenity --list --checklist --width=400 --height=350 --title '' '--text=Veuillez sélectionnez les informations demandés:' --column=Selection --column=Categories TRUE 'Menu sauvegarde' FALSE 'Menu restauration' FALSE 'Menu Auto_install'
+ ACT='Menu sauvegarde'
+ '[' 0 '!=' 0 ']'
+ echo 'Menu sauvegarde'
+ grep 'Menu sauvegarde'
+ '[' 0 = 0 ']'
++ zenity --list --checklist --width=400 --height=350 --title '=== Menu Sauvegarde ===' '--text=Veuillez sélectionnez les informations demandés:' --column=Selection --column=Categories TRUE 'Creer votre dossier de sauvegarde' FALSE 'Sauvegarder sources.list et les paquets ' FALSE 'Sauvegarder votre repertoire HOME' FALSE 'Sauvegarder votre repertoire OPT'
+ SAV='Creer votre dossier de sauvegarde|Sauvegarder sources.list et les paquets '
+ '[' 0 '!=' 0 ']'
+ echo 'Menu sauvegarde'
+ grep 'Menu restauration'
+ '[' 1 = 0 ']'
+ echo 'Menu sauvegarde'
+ grep 'Menu Auto_install'
+ '[' 1 = 0 ']'
+ echo 'Creer votre dossier de sauvegarde|Sauvegarder sources.list et les paquets '
+ grep 'Creer votre dossier de sauvegarde'
+ '[' 0 = 0 ']'
++ zenity --file-selection --directory '--title=choisissez le repertoire de destination pour vos sauvegarde.'
+ repdest=/home/n3o/Bureau
+ '[' 0 '!=' 0 ']'
+ echo 'Creer votre dossier de sauvegarde|Sauvegarder sources.list et les paquets '
+ grep 'Sauvegarder sources.list et les paquets'
+ '[' 0 = 0 ']'
+ cd /home/n3o/Bureau
+ mkdir -p 2008-06-26
+ cp /etc/apt/sources.list ./2008-06-26/sources.2008-06-26.list
+ dpkg --get-selections
+ '[' 0 '!=' 0 ']'
#!/bin/bash
DATE=`date +%F`
zenity --info --title='Script Auto_install Version 0.1 Alpha' --text="Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51"
## Choix du type d'actions
ACT=$(zenity --list --checklist --width=400 --height=350 \
--title "" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Menu sauvegarde" \
FALSE "Menu restauration" \
FALSE "Menu Auto_install" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
exit
fi
# Menu sauvegarde
echo "$ACT" | grep "Menu sauvegarde" >/dev/null
if [ "$?" = 0 ] ; then
SAV=$(zenity --list --checklist --width=400 --height=350 \
--title "=== Menu Sauvegarde ===" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Creer votre dossier de sauvegarde" \
FALSE "Sauvegarder sources.list et les paquets " \
FALSE "Sauvegarder votre repertoire HOME" \
FALSE "Sauvegarder votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
# Menu Restauration
echo "$ACT" | grep "Menu restauration" >/dev/null
if [ "$?" = 0 ] ; then
RES=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu restauration ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Restaurer votre liste des paquets et votre sources list " \
FALSE "Restaurer votre repertoire Home" \
FALSE "Restaurer votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
# Menu Auto_install
echo "$ACT" | grep "Menu Auto_install" >/dev/null
if [ "$?" = 0 ] ; then
AUT=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu Auto_install ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Installer les logiciels vidéo" \
FALSE "Installer Amsn" \
FALSE "Installation Automatique des programmes" \
FALSE "Installation manuelle" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
fi
#############################
#### ####
####Categories Sauvegarde####
#############################
##1. Creation du dossier de sauvegarde
echo "$SAV" | grep "Creer votre dossier de sauvegarde" >/dev/null
if [ "$?" = 0 ] ; then
repdest=$(zenity --file-selection --directory --title="choisissez le repertoire de destination pour vos sauvegarde.")
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Aucun chemin spécifier"
fi
fi
##3. Sauvegarder sources.list liste des paquets
echo "$SAV" | grep "Sauvegarder sources.list et les paquets" >/dev/null
if [ "$?" = 0 ] ; then
cd $repdest;
mkdir -p $DATE;
cp /etc/apt/sources.list ./$DATE/sources.$DATE.list && dpkg --get-selections > ./$DATE/paquets.$DATE.list;
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Votre dossier de sauvegarde n'as pas ete créer"
fi
fi
En faite si j'ai deja creer un dossier backup et que je lui dit que c'est celui ci ma destination il creer bien le date a l interieur et fait ce qu'il doit faire par contre quand j'essaie via zenity a creer un dossier il le creer pas et ce ferme brutalement
Dernière modification par n3o51 (Le 26/06/2008, à 16:33)
Welcome to the real world
________________________________
Hors ligne
#8 Le 26/06/2008, à 16:38
- redisded
Re : Probleme Script_Auto_install
Je viens de modifier mon script j'ai pas d'erreurs mais le dossier de sauvegarde n'est pas pris en compte et le fichiers date ne ce met pas a l'interieur du repertoire de destination.
A la fin du fichier, la commande :
cp /etc/apt/sources.list ./$DATE/sources.$DATE.list && dpkg --get-selections > ./$DATE/paquets.$DATE.list;
ne contient aucune référence à $repdest, don c'est normal que rien ne soit copié dedans; essaye plutot :
cp "/etc/apt/sources.list" "$repdest/$DATE/sources.$DATE.list" && dpkg --get-selections > ./$DATE/paquets.$DATE.list;
Aussi a chaque fois le script ce ferme apres une action j'aimerais qu'il revienne au menu precedent a chaque fois quand il as terminer comment faire merci
Pour cela, il faut créer une boucle du genre :
while true ; do
choix=$(zenity --list ...) #ton menu
if [ "${PIPESTATUS[0]}" != "0" ]; then #le script se terminera seulement si l'user appuis sur annuler dans le menu.
exit
fi
case $choix in
option 1)
actions
;;
option 2)
actions
;;
.....
esac
done
Si ce n'est pas assez claire tu peu essayer de regarder mon script menu_script.sh, une boucle de ce type y est présente pour ne quitter que quand l'user clique sur annuler (c'est la derniere grosse boucle, tout à la fin du script).
Hors ligne
#9 Le 26/06/2008, à 16:44
- n3o51
Re : Probleme Script_Auto_install
Ok merci je regarde ...
Effectivement le cp ce fait bien a l'endroit indiquer cela dit je ne comprends pas pourquoi on ne peut pas creer un dossier quand on a la boite de selection de $repdest...Tu as ce probleme aussi toi ?
Dernière modification par n3o51 (Le 26/06/2008, à 16:49)
Welcome to the real world
________________________________
Hors ligne
#10 Le 26/06/2008, à 17:20
- redisded
Re : Probleme Script_Auto_install
euh non quand je lance la commande copiée de ton script dans un terminal j'ai bien la possibilité de créer un dossier en haut à droite dans la boite de dialogue zenity...
Hors ligne
#11 Le 26/06/2008, à 17:54
- n3o51
Re : Probleme Script_Auto_install
Je veut dire creer un dossier dans la boite de dialogue zenity
celle la
zenity --file-selection --directory --title="choisissez le repertoire de destination pour vos sauvegardes"
En haut y a creer un dossier et il me demande de selectionner le nom et plus rien pas de dossiers creer
Welcome to the real world
________________________________
Hors ligne
#12 Le 26/06/2008, à 18:34
- redisded
Re : Probleme Script_Auto_install
Euh ba je viens de refaire le test, quand je clique sur créer un dossier, je peu entrer le nom et dès que je clique sur entrée le nom est créé...
Hors ligne
#13 Le 26/06/2008, à 18:35
- n3o51
Re : Probleme Script_Auto_install
OK merci !!!
Welcome to the real world
________________________________
Hors ligne
#14 Le 26/06/2008, à 18:42
- n3o51
Re : Probleme Script_Auto_install
Encore moi
Desole
Un trucs qui me gene si le dossier n'est pas selectionner j'ai une erreur ce qui es normal tu me dira mais j'aimerais qu'il y es comme un fichiers tmp qui soit creer pour ensuite le recuper car la sinon pour chaque action j'aurais une erreur car le dossier "$repdest" n'est pas specifie.Je sais pas si c'est clair ce que je veut dire!!
Welcome to the real world
________________________________
Hors ligne
#15 Le 26/06/2008, à 19:06
- n3o51
Re : Probleme Script_Auto_install
Est ce que quelque chose comme ca fonctionne pour recuper mon $repdest
echo $repdest >$confrep/repdest
##2. Sauvegarder sources.list liste des paquets
confrep="/home/$USER/.repdest.conf"
if [ -d "$confrep" ] ; then
if [ -f "$confrep/repdest" ] ; then
echo "$SAV" | grep "Sauvegarder sources.list et les paquets" >/dev/null
if [ "$?" = 0 ] ; then
cd $repdest;
mkdir -p $DATE;
cp "/etc/apt/sources.list" "$repdest/$DATE/sources.$DATE.list" && dpkg --get-selections > ./$DATE/paquets.$DATE.list;
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Votre dossier de sauvegarde n'as pas ete créer"
fi
fi
Welcome to the real world
________________________________
Hors ligne
#16 Le 26/06/2008, à 19:39
- n3o51
Re : Probleme Script_Auto_install
Peut etre le plus simple serait d'integrer une sorte de fonction MAJ qui a chaque fois que le fichier conf n'as pas de destination lancer zenity --file-selection --directory --title="choisissez le repertoire de destination pour vos sauvegarde."
NON ??
Welcome to the real world
________________________________
Hors ligne
#17 Le 26/06/2008, à 20:43
- redisded
Re : Probleme Script_Auto_install
Euh je suis pas sur d'avoir tout compris mais si ton pb se rencontre quand tu n'a pas de dossier séléctionné, pourquoi ne pas simplement quitter le script lorsqu'aucun dossier n'est séléctionné par une condition de ce type :
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Votre dossier de sauvegarde n'as pas ete créer"
fi
fi
placé juste apres la selection du rep avec zenity.
dailleurs je ne suis pas sur que cela serve a quelque chose ou tu l'a placé
Dernière modification par redisded (Le 26/06/2008, à 20:44)
Hors ligne
#18 Le 26/06/2008, à 21:26
- n3o51
Re : Probleme Script_Auto_install
OK bon depeche toi de finir ton scrit j'ai du mal.Par contre une questions tu recoit bien les emails via l'interface du forum.Car je t'en avait envoyé un avant que tu poste sur le forum
Welcome to the real world
________________________________
Hors ligne
#19 Le 26/06/2008, à 21:38
- redisded
Re : Probleme Script_Auto_install
le dernier que j'ai de toi date d'avant-hier, j'y ai répondu en te disant que je ne lisais pas souvent mes mails
Hors ligne
#20 Le 26/06/2008, à 21:47
- Levi59
Re : Probleme Script_Auto_install
Ton script est pas mal.
Il serait super intéressant de faire le même genre mais uniquement pour le système "/" sauf "/home" que l'on pourrait lancer régulièrement (tous les mois par exemple) afin de récupérer le système en cas de problème et avec une limite pour le nombre de dossier de sauvegarde. (1 ou 2 mois maxi)
Hors ligne
#21 Le 26/06/2008, à 21:50
- n3o51
Re : Probleme Script_Auto_install
Oui pourquoi pas !!!
Mais le home j'y tiens pour mes reinstalles donc je garde mais ton idée et pas mal ....Merci
@redisded : OK
Welcome to the real world
________________________________
Hors ligne
#22 Le 26/06/2008, à 21:57
- Levi59
Re : Probleme Script_Auto_install
Surtout que la plupart du temps mis a part le /home, le reste du systeme dépasse rarement les 10Gio (et encore je vois grand) et donc il devient très facile de creer une partition uniquement en guise de sauvegarde.
A mediter pour de future version d'Ubuntu, la partition "/save" avec la possibilité de sauver le systeme en dehors des docs de l'utilisateur a partir d'un utilitaire dans administration. (Bon la je m'avance un peu! )
Hors ligne
#23 Le 27/06/2008, à 19:39
- n3o51
Re : Probleme Script_Auto_install
REDISDED : j'aurais besoin de toi tu as eu mon mail je les vois pas moi
Welcome to the real world
________________________________
Hors ligne
#24 Le 27/06/2008, à 20:33
- n3o51
Re : Probleme Script_Auto_install
DATE=`date +%F`
confrep="/home/$USER/.rep.conf"
DIR=$(cat "$confrep/repdest")
zenity --info --title='Script Auto_install Version 0.1 Alpha' --text="Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51"
if [ -d "$confrep" ] ; then
cat "$confrep/repdest"
echo "$SAV" | grep "Creer votre dossier de sauvegarde" >/dev/null
if [ "$?" = 0 ] ; then
repdest=$(zenity --file-selection --directory --title="choisissez le repertoire de destination pour vos sauvegarde.") && echo $repdest >$confrep/repdest
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Aucun chemin spécifier"
fi
fi
fi
if [ -f "$confrep/repdest" ] ; then
while true ; do
ACT=$(zenity --list --checklist --width=400 --height=350 \
--title "Auto_install by N3o" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selections" --column="" --column="Categories" --hide-column=2 \
FALSE Save "Menu sauvegarde" \
FALSE rest "Menu restauration" \
FALSE Auto "Menu Auto_install" )
if [ $? != 0 ] ; then
exit 0
fi
case $ACT in
Save)
# Menu sauvegarde
SAV=$(zenity --list --checklist --width=400 --height=350 \
--title "=== Menu Sauvegarde ===" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Creer votre dossier de sauvegarde" \
FALSE "Compression de votre backup & graver votre backup" \
FALSE "Sauvegarder sources.list et les paquets " \
FALSE "Sauvegarder tous votre systeme" \
FALSE "Sauvegarder votre repertoire HOME" \
FALSE "Sauvegarder votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
;;
rest)
# Menu Restauration
RES=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu restauration ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Restaurer vos paquets installés et votre sources list " \
FALSE "Restaurer votre repertoire Home" \
FALSE "Restaurer votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
;;
auto)
# Menu Auto_install
AUT=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu Auto_install ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
FALSE installA "Installation Automatique (utilisation de votre listes des paquets)" \
FALSE installM "Installation manuelle (utilisation de votre listes des paquets" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
;;
esac
done
fi
if [ $? != 0 ] ; then
exit 1
fi
else
mkdir "$confrep"
fi
##2. Sauvegarder sources.list liste des paquets
echo "$SAV" | grep "Sauvegarder sources.list et les paquets" >/dev/null
if [ "$?" = 0 ] ; then
cd $repdest;
mkdir -p $DATE;
cp "/etc/apt/sources.list" "$repdest/$DATE/sources.$DATE.list" && dpkg --get-selections > ./$DATE/paquets.$DATE.list;
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Votre dossier de sauvegarde n'as pas ete créer"
fi
fi
DIR=$(cat "$confrep/repdest")
##3. Sauvegarde du repertoires HOME
echo "$SAV" | grep "Sauvegarder votre repertoire HOME" >/dev/null
if [ "$?" = 0 ] ; then
mkdir -p $DIR/$USER;
cp -r /home/$USER/ $DIR/$USER | zenity --progress --title="$0" --text="Veuillez patienter pendant la sauvegarde de votre home" --auto-close
fi
Comme vous le voyez j'ai voulu faire une verification sur le fichiers contenant le chemin pour n'avoir que la demande du chemin que l'on veut qu'il contient les backups que si le fichiers n'exciste pas mais je ne trouve pas comment le faire fonctionner ...
Merci d'avance
Welcome to the real world
________________________________
Hors ligne
#25 Le 27/06/2008, à 21:43
- n3o51
Re : Probleme Script_Auto_install
Ca marche pas :
le log :
++ date +%F
+ DATE=2008-06-27
+ confrep=/home/n3o/.rep.conf
++ cat /home/n3o/.rep.conf/repdest
cat: /home/n3o/.rep.conf/repdest: Aucun fichier ou dossier de ce type
+ DIR=
+ zenity --info '--title=Script Auto_install Version 0.1 Alpha' '--text=Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51'
+ '[' -d /home/n3o/.rep.conf ']'
+ '[' -f /home/n3o/.rep.conf/repdest ']'
+ CREATE
hierpreinstall: line 53: CREATE : commande introuvable
+ echo ''
+ grep 'Sauvegarder sources.list et les paquets'
+ '[' 1 = 0 ']'
++ cat /home/n3o/.rep.conf/repdest
cat: /home/n3o/.rep.conf/repdest: Aucun fichier ou dossier de ce type
+ DIR=
+ echo ''
+ grep 'Sauvegarder votre repertoire HOME'
+ '[' 1 = 0 ']'
Le script
DATE=`date +%F`
confrep="/home/$USER/.rep.conf"
DIR=$(cat "$confrep/repdest")
zenity --info --title='Script Auto_install Version 0.1 Alpha' --text="Ce script se charge de sauvegarder ou restaurer votre système
\n Ce script vous est proposé par :
\n - N3o51"
if [ -d "$confrep" ] ; then
if [ -f "$confrep/repdest" ] ; then
MENU
else
CREATE
fi
else
mkdir "$confrep"
CREATE
fi
function CREATE {
echo "$SAV" | grep "Creer votre dossier de sauvegarde" >/dev/null
if [ "$?" = 0 ] ; then
repdest=$(zenity --file-selection --directory --title="choisissez le repertoire de destination pour vos sauvegarde.") && echo $repdest >$confrep/repdest
if [ $? != 0 ] ; then
exit 1
fi
fi
}
function MENU {
while true ; do
ACT=$(zenity --list --checklist --width=400 --height=350 \
--title "Auto_install by N3o" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selections" --column="" --column="Categories" --hide-column=2 \
FALSE Save "Menu sauvegarde" \
FALSE rest "Menu restauration" \
FALSE Auto "Menu Auto_install" )
if [ $? != 0 ] ; then
exit 0
fi
case $ACT in
Save)
# Menu sauvegarde
SAV=$(zenity --list --checklist --width=400 --height=350 \
--title "=== Menu Sauvegarde ===" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Creer votre dossier de sauvegarde" \
FALSE "Compression de votre backup & graver votre backup" \
FALSE "Sauvegarder sources.list et les paquets " \
FALSE "Sauvegarder tous votre systeme" \
FALSE "Sauvegarder votre repertoire HOME" \
FALSE "Sauvegarder votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
;;
rest)
# Menu Restauration
RES=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu restauration ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
TRUE "Restaurer vos paquets installés et votre sources list " \
FALSE "Restaurer votre repertoire Home" \
FALSE "Restaurer votre repertoire OPT" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
;;
auto)
# Menu Auto_install
AUT=$(zenity --list --checklist --width=400 --height=350 \
--title "==== Menu Auto_install ====" \
--text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="Categories" \
FALSE installA "Installation Automatique (utilisation de votre listes des paquets)" \
FALSE installM "Installation manuelle (utilisation de votre listes des paquets" );
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Une erreur est survenue lors de la recherche des informations systeme"
fi
;;
esac
done
}
##2. Sauvegarder sources.list liste des paquets
echo "$SAV" | grep "Sauvegarder sources.list et les paquets" >/dev/null
if [ "$?" = 0 ] ; then
cd $repdest;
mkdir -p $DATE;
cp "/etc/apt/sources.list" "$repdest/$DATE/sources.$DATE.list" && dpkg --get-selections > ./$DATE/paquets.$DATE.list;
if [ "${PIPESTATUS[0]}" != "0" ]; then
zenity --error --title="Une erreur est survenue" --text="Votre dossier de sauvegarde n'as pas ete créer"
fi
fi
DIR=$(cat "$confrep/repdest")
##3. Sauvegarde du repertoires HOME
echo "$SAV" | grep "Sauvegarder votre repertoire HOME" >/dev/null
if [ "$?" = 0 ] ; then
mkdir -p $DIR/$USER;
cp -r /home/$USER/ $DIR/$USER | zenity --progress --title="$0" --text="Veuillez patienter pendant la sauvegarde de votre home" --auto-close
fi
Welcome to the real world
________________________________
Hors ligne