Verifier l'existance d'un fichier
Résolu/Fermé
A voir également:
- Verifier l'existance d'un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Verifier un lien - Guide
- Ouvrir un fichier .bin - Guide
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
4 juin 2011 à 18:01
4 juin 2011 à 18:01
Salut,
Déjà il faudrait qu'on puisse voir ton script dans sa totalité, parce qu'une erreur à la ligne 39 ça ne veut rien dire pour nous ;-((
De plus on ne sait même pas si $DATE est déclarée, et si oui, comment ;-(
Ta boucle "for" n'a aucune chance d'aboutir dans la mesure ou la variable "$i" n'est utilisée nulle part ;-(
De plus, je suppute l'existence d'espace dans les informations ramenées par ta variable "$SRV" ;-\
Pour finir, la recherche du fichier de la veille devrait pouvoir être cherché avec la commande find ou comparée avec les attributs natifs du fichier, du moins il me semble...
Déjà il faudrait qu'on puisse voir ton script dans sa totalité, parce qu'une erreur à la ligne 39 ça ne veut rien dire pour nous ;-((
De plus on ne sait même pas si $DATE est déclarée, et si oui, comment ;-(
Ta boucle "for" n'a aucune chance d'aboutir dans la mesure ou la variable "$i" n'est utilisée nulle part ;-(
De plus, je suppute l'existence d'espace dans les informations ramenées par ta variable "$SRV" ;-\
Pour finir, la recherche du fichier de la veille devrait pouvoir être cherché avec la commande find ou comparée avec les attributs natifs du fichier, du moins il me semble...
Salut,
Je te met la totalité du script. Pour la boucle ma variable i n'est déclaré nul part. Et pour la recherche il m'a été demandé de m'appuyer sur un fichier source avec le nom des serveur et les fichiers qui doivent être présent.
#! /bin/sh
#Verification de la présence des Policy Files CMA
$1
## VARIABLES
DATE='date +%Y-%m-%d -d'1 days ago''
PATH="/home/jmi/Policy/"
GREP="/bin/grep"
#_NAG_RET_OK=0
#_NAG_RET_CRITICAL=2
##TRAITEMENTS
SRV='/bin/cat referentiel.csv | /usr/bin/awk -F";" '{ print $1 }''
POLICY='/bin/cat referentiel.csv | /usr/bin/awk -F";" '{ $1 = "" ; print $0 }''
#for SRV
for i in "$SRV"
do
echo "${SRV}"
if [ -f /home/jmi/Policy/${SRV}/${POLICY}_${DATE}.html.gz ]; then
echo "OK"
fi
done
./check_policy.sh: ligne 32 : [: trop d'arguments
Je te met la totalité du script. Pour la boucle ma variable i n'est déclaré nul part. Et pour la recherche il m'a été demandé de m'appuyer sur un fichier source avec le nom des serveur et les fichiers qui doivent être présent.
#! /bin/sh
#Verification de la présence des Policy Files CMA
$1
## VARIABLES
DATE='date +%Y-%m-%d -d'1 days ago''
PATH="/home/jmi/Policy/"
GREP="/bin/grep"
#_NAG_RET_OK=0
#_NAG_RET_CRITICAL=2
##TRAITEMENTS
SRV='/bin/cat referentiel.csv | /usr/bin/awk -F";" '{ print $1 }''
POLICY='/bin/cat referentiel.csv | /usr/bin/awk -F";" '{ $1 = "" ; print $0 }''
#for SRV
for i in "$SRV"
do
echo "${SRV}"
if [ -f /home/jmi/Policy/${SRV}/${POLICY}_${DATE}.html.gz ]; then
echo "OK"
fi
done
./check_policy.sh: ligne 32 : [: trop d'arguments
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
4 juin 2011 à 18:22
4 juin 2011 à 18:22
Dans "/home/jmi/Policy/${SRV}/${POLICY}_${DATE}.html.gz" qu'est sensé contenir "${SRV}" ?
Le nom d'un fichier non ? Style "baltazarre" ou "melchiore" ?
Le nom d'un fichier non ? Style "baltazarre" ou "melchiore" ?
zipe31 - 4 jun 2011 à 18:22
Dans "/home/jmi/Policy/${SRV}/${POLICY}_${DATE}.html.gz" qu'est sensé contenir "${SRV}" ?
Le nom d'un fichier non ? Style "baltazarre" ou "melchiore" ?
${SRV} contient la liste des noms des serveurs :
baltazarre
melchiore
pacman
yoshi
et $ {POLICY} le nom des fichiers
Dans "/home/jmi/Policy/${SRV}/${POLICY}_${DATE}.html.gz" qu'est sensé contenir "${SRV}" ?
Le nom d'un fichier non ? Style "baltazarre" ou "melchiore" ?
${SRV} contient la liste des noms des serveurs :
baltazarre
melchiore
pacman
yoshi
et $ {POLICY} le nom des fichiers
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
4 juin 2011 à 18:58
4 juin 2011 à 18:58
et $ {POLICY} le nom des fichiers
Il manque une boucle imbriquée alors ;-((
Il faut vérifier l'existence de chaque fichier dans chaque serveur ?
Si oui
Sans conviction...
Il manque une boucle imbriquée alors ;-((
Il faut vérifier l'existence de chaque fichier dans chaque serveur ?
Si oui
Sans conviction...
for i in $SRV # sans les guillemets autour do echo "${i}" for j in ${POLICY} do echo "${j}" if [ -f /home/jmi/Policy/${i}/${j}_${DATE}.html.gz ]; then echo "OK" fi done done
C'est presque ça en tout cas il execute bien mon script maintenant merci pour ton aide mais là il parcours tout les fichiers pour chaque serveurs et moi en faite il faut qu'il affiche les fichiers présent dans le dossier du serveur par ex : serveur baltazarre fichier cma_policy_baltazarre.gz.html ....
Merci
Merci
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
5 juin 2011 à 09:42
5 juin 2011 à 09:42
Euh.... non. Logiquement le script teste pour chaque répertoire contenu dans "${SRV}" (variable ${i}) si le fichier correspondant à "${j}_${DATE}.html.z" existe et affiche OK le cas échéant...
Ne sachant pas ce que contiennent tes répertoires, ni ce que retournent exactement tes variables et n'ayant pas les moyens de tester en direct, je ne peux que faire des suppositions ;-\
Ne sachant pas ce que contiennent tes répertoires, ni ce que retournent exactement tes variables et n'ayant pas les moyens de tester en direct, je ne peux que faire des suppositions ;-\