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 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' wink ) 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 wink ).
}

N'hésite pas à poser une question si tu as un pb (avec le fichier log comme expliqué plus haut si possible wink ) 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é big_smile je posterai l'anvencement ici big_smile


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 tongue

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 wink

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é wink

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 wink

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

n3o51 a écrit :

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;
n3o51 a écrit :

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 big_smile

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é wink

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 big_smile


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 wink

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! lol)

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 big_smile je les vois pas moi tongue


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