Utilisation simultanée d'un script ksh
Bonjour,
J'ai créé dans le cadre de mes tâches quotidiennes au travail un script permettant de faire des exports de tables (.dmp).
Ma question est la suivante, comment est-il possible de l'améliorer afin que plusieurs personnes puissent l'utiliser en même temps?
Le script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#!/bin/ksh
#==============================================================================
#---------------+--------------------------------------------------------------
# HISTO | Date | Vers | Auteur | Libelle
# |----------+------+--------+-----------------------------------
# | 08/03/13 | 1.00 | MGO |
# | | | |
# | | | |
#==============================================================================
#=== Pré-requis ===#
rm -f export_table.lst
touch export_table.lst
echo "Entrer le nom de la demande de service ou du changement : "
read nom_dds
mkdir $nom_dds ; chmod 777 $nom_dds
#=== Récupération du schéma ===#
nom_schema=0
until ! [[ $nom_schema = ?([-+])+([0-9]) ]]
do
echo "Entrer le nom du schéma : "
read nom_schema
if [[ $nom_schema = ?([-+])+([0-9]) ]]
then
echo "La saisie est incorrecte !!"
fi
done
#=== Récupération de l'instance ===#
nom_instance=0
until ! [[ $nom_instance = ?([-+])+([0-9]) ]]
do
echo "Entrer le nom de l'instance : "
read nom_instance
if [[ $nom_instance = ?([-+])+([0-9]) ]]
then
echo "La saisie est incorrecte !!"
fi
done
#=== Récupération du nombre de table & incrémentation des tables dans le fichier export_table.lst ===#
nombre_table=0
until [[ "$nombre_table" > 0 ]]
do
echo "Entrer le nombre de table(s) à exporter : "
read nombre_table
if ! [[ "$nombre_table" > 0 ]]
then
echo "La saisie est incorrecte !!"
fi
done
while [[ $nombre_table -ge 1 ]]
do
echo "Entrer le nom de la table : "
read nom_table_saisie
echo "$nom_table_saisie" >> export_table.lst
(( nombre_table=nombre_table-1 ))
done
#=== Extraction des tables & compression des données ===#
for nom_table in `cat export_table.lst`
do
expdp system/manager@$nom_instance tables=$nom_schema.$nom_table DIRECTORY=DIR_DP DUMPFILE=expdp$nom_schema_$nom_table.dmp logfile=expdp$nom_schema_$nom_table.log
gzip expdp$nom_schema_$nom_table.dmp
mv expdp$nom_schema_$nom_table.dmp.gz /travail/$LT/exports/$nom_instance/export/$nom_dds/
mv expdp$nom_schema_$nom_table.log /travail/$LT/exports/$nom_instance/export/$nom_dds/
chmod 755 /travail/$LT/exports/$nom_instance/export/$nom_dds/*
sleep 2
echo "======================== Fin $nom_table ========================"
done |
Merci par avance
Matthieu