La commande ifexist

La commande ifexist - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 26-11-2004 à 14:24:34    

Voila je viens de creer un petit script de sauvegarde de mes fichiers de conf et j'aimerai un peu plus le developper afin de ne pas avoir de message d'erreur meme si le script marche bien.  
 
voila mon script:
 
--------------------------
 
#! /bin/sh
 
# Mise en place des variables.
variable1=/mnt/win-d/Linux/sauvegarde/sav/etc/samba
variable2=/mnt/win-d/Linux/sauvegarde/sav/etc/httpd/conf
variable3=/mnt/win-d/Linux/sauvegarde/sav/etc/
echo "Variables [OK]"
 
#Creation Backup
mkdir /mnt/win-d/Linux/sauvegarde/sav-old
rm -r /mnt/win-d/Linux/sauvegarde/sav-old
mkdir /mnt/win-d/Linux/sauvegarde/sav
mkdir /mnt/win-d/Linux/sauvegarde/sav-old
cp -bR /mnt/win-d/Linux/sauvegarde/sav/* /mnt/win-d/Linux/sauvegarde/sav-old
echo "Backup [OK]"
 
#Suppression des anciens fichiers
rm -r /mnt/win-d/Linux/sauvegarde/sav
echo "Ancien Backup [OK]"
 
#Creation de l'arborescence.
mkdir /mnt/win-d/Linux/sauvegarde/sav
mkdir /mnt/win-d/Linux/sauvegarde/sav/etc
mkdir /mnt/win-d/Linux/sauvegarde/sav/etc/samba
mkdir /mnt/win-d/Linux/sauvegarde/sav/etc/httpd
mkdir /mnt/win-d/Linux/sauvegarde/sav/etc/httpd/conf
echo "Dossiers crees"
 
#Copie des fichiers de configuration
cp /etc/samba/smb.conf $variable1
cp /etc/httpd/conf/httpd.conf $variable2
cp /etc/proftpd.conf $variable3
echo "Fichiers sauvegardes"
 
--------------------------
 
J'aimerai utiliser une commande dans le genre de ifexist afin que les dossier creer lors du "#Creation Backup" soit: (sav et sav-old)
ne m'indique pas une erreur lorsque je lance le script alors que les dossier sont deja creer.
Et donc par la meme alleger le script.
 
Je penssai a un truc du genre ifexist nomdudossier alors ne pas le creer et passez a l'etape suivante.
Il me faudrai donc alors creer des systeme d'etape genre goto sous dos masi je ne sait pas si c'ets le meme genre sous linux.
 
Je suis novice cepandant en script et donc j'utilise des commandes simples et comprehensible par moi.
SVP: evitez de me sortir des comamndes de script du fin fond de l'espace auquel je ne comprend pas grand chose ou bien expliquez les moi en meme temps, histoire de faire une pierre deux coups :p
 
Je vous remercie pour toutes l'aide que vous pourriez m'apportez.

Reply

Marsh Posté le 26-11-2004 à 14:24:34   

Reply

Marsh Posté le 26-11-2004 à 15:14:42    

mkdir -p
"man mkdir" pour les détails.

Reply

Marsh Posté le 26-11-2004 à 15:21:45    

tu peux aussi utiliser les test
 
[ ! -d /rep ] && mkdir /rep


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 26-11-2004 à 15:41:31    

k merci pour la reponse
mkdir -p a l'air pas mla.
 
[ ! -d /rep ] && mkdir /rep
Tu peux expliquer, j'y connait rien amsi ej demande que ca

Reply

Marsh Posté le 26-11-2004 à 17:22:09    

le "[]" est un equivalent de la commande test (commande interne à bash).
Tu peux avoir de l'aide dessus en tapant "help test"
 
le "&&" est l'equivalent du if :
if test ! -d /rep; then
  mkdir /rep
fi

Reply

Marsh Posté le 26-11-2004 à 17:28:13    

cortx> man bash


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 27-11-2004 à 15:36:12    

merci pour els explication.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed