Pbl de script

2006-05-17 Par sujet Cédric LE BRIS
Je cherche à créer un script qui fait sauvegarde mon repertoire /etc

=

#! /bin/sh


tar cfz /tmp/bck/bck_etc_mx.tgz /etc/
===


Par contre j'aimerais qu'il crée un répertoire dans /tmp
 un repertoire nommé bck, mais qu'il ne le crée QUE si il n'existe pas...pour 
éviter les plantage
Qq à une solution pour ce genre de petit test??

Je suis un peu perdu avec les scripts Shell...


merci



Re: Pbl de script

2006-05-17 Par sujet Xavier Oswald
On 15:15 Wed 17 May , Cédric LE BRIS wrote:
 Je cherche à créer un script qui fait sauvegarde mon repertoire /etc
 
 =
 
 #! /bin/sh
 
 
 tar cfz /tmp/bck/bck_etc_mx.tgz /etc/
 ===
 
 
 Par contre j'aimerais qu'il crée un répertoire dans /tmp

Ben tu fais une copie avec cp :)

  un repertoire nommé bck, mais qu'il ne le crée QUE si il n'existe pas...pour 
 éviter les plantage
 Qq à une solution pour ce genre de petit test??

Pour tester si un fichier existe : 

if [ -f monfichier ]

fi

-r file Check if file is readable.
-w file Check if file is writable.
-x file Check if we have execute access to file.
-f file Check if file is an ordinary file (as opposed to a directory, a
device special file, etc.)
-s file Check if file has size greater than 0.
-d file Check if file is a directory.
-e file Check if file exists. Is true even if file is a directory.



Amicalement,
-- 
===
  ,''`.  Xavier Oswald [EMAIL PROTECTED]
 : :' :  GNU/LINUX Debian  Debian-Edu Contributor
 `. `'   GnuPG Key ID 0x88BBB51E 
   `-938D D715 6915 8860 9679  4A0C A430 C6AA 88BB B51E
===


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Pbl de script

2006-05-17 Par sujet Jacques L'helgoualc'h
Cédric LE BRIS a écrit, mercredi 17 mai 2006, à 15:15 :
 Je cherche à créer un script qui fait sauvegarde mon repertoire /etc
 
 =
 
 #! /bin/sh
 
 
 tar cfz /tmp/bck/bck_etc_mx.tgz /etc/
 ===
 
 
 Par contre j'aimerais qu'il crée un répertoire dans /tmp un repertoire
 nommé bck, mais qu'il ne le  crée QUE si il n'existe pas...pour éviter
 les plantage Qq à une solution pour ce genre de petit test??

TMPDIR=/tmp/bck

if [ ! -d $TMPDIR ]
   mkdir $TMPDIR
fi

Bon, il faudrait aussi tester si ça existe sans être un répertoire.

 Je suis un peu perdu avec les scripts Shell...

Ben, ce ne  sont pas les howtos  qui manquent ? Il y  a aussi l'advanced
bash scripting guide (traduit sur http://abs.traduc.org/), etc.

Voir aussi des exemples dans /etc :)

 merci

de rien,
-- 
Jacques L'helgoualc'h


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Pbl de script

2006-05-17 Par sujet Jacques L'helgoualc'h
Jacques L'helgoualc'h a écrit, mercredi 17 mai 2006, à 21:37 :
[...]
 TMPDIR=/tmp/bck
 
 if [ ! -d $TMPDIR ]
mkdir $TMPDIR
 fi

Aaargh,

if [ ! -d $TMPDIR ]; then
   mkdir $TMPDIR
fi

-- 
Jacques L'helgoualc'h


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Pbl de script

2006-05-17 Par sujet Cyril Mougel

Cédric LE BRIS wrote:

Je cherche à créer un script qui fait sauvegarde mon repertoire /etc

=

#! /bin/sh


tar cfz /tmp/bck/bck_etc_mx.tgz /etc/
===


Par contre j'aimerais qu'il crée un répertoire dans /tmp
 un repertoire nommé bck, mais qu'il ne le crée QUE si il n'existe pas...pour 
éviter les plantage
Qq à une solution pour ce genre de petit test??

Je suis un peu perdu avec les scripts Shell...


Voici un exemple qui marche :

#! /bin/bash

if [ -e /tmp/test ]
then
   echo 'oui'
fi
echo 'non'

Ainsi pour tester :
Sextans-22:43:14:/tmp$ ls tes*
test.sh
Sextans-22:43:19:/tmp$ ./test.sh
nonSextans-22:43:36:/tmp$ mkdir test
Sextans-22:43:48:/tmp$ ./test.sh
oui
non

Sinon, cf :
man [
man if

Bonne chance

--
Cyril Mougel


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et

Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Pbl de script

2006-05-17 Par sujet Christophe Diaz

Cédric LE BRIS a écrit :

Je cherche à créer un script qui fait sauvegarde mon repertoire /etc

=

#! /bin/sh


tar cfz /tmp/bck/bck_etc_mx.tgz /etc/
===


Par contre j'aimerais qu'il crée un répertoire dans /tmp
 un repertoire nommé bck, mais qu'il ne le crée QUE si il n'existe pas...pour 
éviter les plantage
Qq à une solution pour ce genre de petit test??

Je suis un peu perdu avec les scripts Shell...


merci




Bonjour,

A priori ceci devrait marcher:

if [ ! -d /chemin/vers/mon/repertoire/ ] ;
then
mkdir /chemin/vers/mon/repertoire/

fi



Bon amusement
Christophe




Re: Pbl de script

2006-05-17 Par sujet Frédéric Bothamy
* Cédric LE BRIS [EMAIL PROTECTED] [2006-05-17 15:15] :

[...]

 Par contre j'aimerais qu'il crée un répertoire dans /tmp
  un repertoire nommé bck, mais qu'il ne le crée QUE si il n'existe pas...pour 
 éviter les plantage
 Qq à une solution pour ce genre de petit test??

Plus simple qu'un test :

mkdir -p /tmp/bck


Fred

-- 
Comment poser les questions intelligemment
http://www.gnurou.org/Writing/SmartQuestionsFr
Comment signaler efficacement un bogue
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]