Création de fichier si non présent
Bonjour à tous,
je dois réaliser un script en .ksh qui test la présence d'un fichier lock
Si présent le script s'arrête
Sinon il créer le fichier .lock
Lorsque le fichier .lock est positionné le script sort OK
Lorsque le fichier .lock n'est pas positionné, je n'arrive pas à le créer ???
je débute et je bute :calim2::calim2:
Merci à tous pour votre aide
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
| #!/bin/ksh
#---------------------------------------------------------------------#
#@(#) SCRIPT : Pose de fichier lock
#---------------------------------------------------------------------#
#@(#) Fonction : Pose de fichier lock si n'existe pas si existe sortie
#@(#) Auteur : xxx
#@(#) Parametres d'entree :
#@(#) Parametres de sortie :
#@(#) Retour : 0=Ok, sinon
#@(#) Scripts appeles :
#@(#) Commentaires :
#@(#)
#---------------------------------------------------------------------#
# Historique:
# <version> <auteur> <date> <description>
# 1.0 xxx 16/03/2015 Creation
#---------------------------------------------------------------------#
# decommenter pour "debug"
# set -x
#---------------------------------------------------------------------#
# Initialisation environnement
#---------------------------------------------------------------------#
VERSION="1.00"
dir_fic_boubl=/tmp/projets
dir_lock=${dir_fic_boubl}/Lock
fic_lock=${dir_lock}/fic_xml.lock
LOG=/tmp/xml.log
#---------------------------------------------------------------------#
#Corps du script
#---------------------------------------------------------------------#
Debut
msglog $LOG 0 0 "--Debut: Verification du fichier $fic_lock"
if [[ -f $fic_lock ]]
then
msglog $LOG 0 0 "INFO: Fichier $fic_lock present "
$fic_lock /$dir_lock
if [[ $? -eq 0 ]]
then
msglog $LOG 3 4 "ERREUR: $fic_lock present traitement annule"
exit 4
fi
msglog $LOG 0 0 "INFO:Depose du fichier $fic_lock"
else
msglog $LOG 3 ${LINENO} "ERREUR: $fic_lock inexistant"
exit ${LINENO}
fi
msglog $LOG 0 0 "--Fin: Verification nu fichier $fic_lock present"
Fin |
Merci à tous pour les réponses
J'ai trouvé en utilisant juste le temps de me poser.
Merci pour toutes les infos qui me serviront a progresser.
Le résultat: :P
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
| #Script qui verifie la presence d'un fichier .lock
#Si ce dernier est présent le traitement est annulé et le script sort en erreur
#Si le fichier.lock n'est pas présent il créer un fichier (touch $FIC_LOCK)
#!/bin/ksh
#--------------------------------------------------------------------------------
# @(#)SCRIPT : Traitement des fichiers.xml
#--------------------------------------------------------------------------------
# @(#)Application :
# @(#)Fonction : Script modele
# @(#)Auteur :
# @(#)Version : 1.00
# @(#)Date de creation :
# @(#)Date de modification :
# @(#)Auteur de modification :
# @(#)Parametres d'entree :
# @(#)Codes retour : 0=Ok, sinon
# @(#)
# @(#)Commentaires :
# @(#)
# @(#)Etapes du script :
#--------------------------------------------------------------------------------
# @(#)Modifications :
# @(#)date auteur version : libelle
# @(#)
#-------------------------------------------------------------------------------
#set -x
############# Variales #################
VERSION=1.00
DIR_FIC_DOUBL=/tmp/projets
DIR_LOCK=${DIR_FIC_DOUBL}/Lock
FIC_LOCK=${DIR_LOCK}/fic_xml.lock
DIR_LOG=${DIR_FIC_DOUBL}/Log
LOG=${DIR_LOG}/xml.log
#----------------------------------------------------------------------#
#Corps du script
#----------------------------------------------------------------------#
Debut
#----------------------------------------------------------------------#
# Verification de la non presence du fichier .lock
# Si presence traitement annule
#----------------------------------------------------------------------#
msglog $LOG 0 0 "--Debut: Verification du fichier $FIC_LOCK"
if [[ ! -f $FIC_LOCK ]]
then
msglog $LOG 0 0 "INFO: Fichier $FIC_LOCK non present "
touch $FIC_LOCK
if [[ $? -ne 0 ]]
then
msglog $LOG 3 4 "ERREUR: Fichier $FIC_LOC deja present"
exit 4
fi
msglog $LOG 0 0 "INFO: Depose du fichier $FIC_LOCK"
else
msglog $LOG 3 ${LINENO} "ERREUR: Fichier $FIC_LOCK deja present traitement annule"
exit ${LINENO}
fi
msglog $LOG 0 0 "--Fin: Verification du fichier $FIC_LOCK"
Fin |