View previous topic :: View next topic |
Author |
Message |
broly Guru


Joined: 21 Feb 2003 Posts: 345 Location: cachan 94
|
Posted: Mon Oct 13, 2003 9:40 am Post subject: (résolu) [bash]pb de scripting |
|
|
slut tt le monde j'ai encore un pb de script et vu que je suis pas bien fort j'ai du mal !!
Voila j'explique en faite c tout simple j'ai une liste dans un fichier j'aimerai qu'il me cré des repertoire en fonction de ce qu'il y a dedans le truc c q'apparement il interprete mal le retour chariot et il met tout a la ligne :
Code: |
# more clean_xerox
#!/bin/ksh
set -x
#--------------------------#
# Definition des variables #
#--------------------------#
#
XEROXDIR=/nas/scan/
ADMINHOME=`ypmatch admin passwd | awk -F: '{print $6}'`
DATE=`date "+%d-%m-%Y"`
DOMAINOTES=`cat -s ${ADMINHOME}/.domainotes`
MAILUSER="xxxxxxxxxxxx@${DOMAINOTES}"
LIST_IMP=${ADMINHOME}/bin/list_xerox
LIST_PREV=`cat -s ${LIST_IMP} | grep -v '^#'| awk '{print $0 $1}'`
LOG=/usr/tmp/${DATE}_clean_xerox.log
#
#------------------------------#
# Declaration des descripteurs #
#------------------------------#
#
# On logue TOUT dans un seul fichier
#
# Ouverture d'un descripteur en écriture
exec 3>${LOG}
#
# On redirige TOUT (sortie std et err) dans le descripteur 3
exec 1>&3
exec 2>&3
#
#---------------------------#
# Declaration des fonctions #
#---------------------------#
#
# Fonction remise a zero
#
freset () {
ls -lrt ${XEROXDIR}
rm -rf ${XEROXDIR}*
rm -f /usr/tmp/list_imprimante
if [ $? -eq 0 ] ; then
echo "Remise à zero faite avec succès"
else
echo "Il y a eu un problème : code d'erreur $?"
fi
}
#
# Fonction création des repertoires
#
fmkdir () {
#eval ${LIST_PREV}
echo ${LIST_PREV}
#exec < ${LIST_PREV}
#compteur=0
while read TYPE IMPRIMANTE < ${LIST_PREV}
do
# ((compteur+=1))
if [ ${TYPE} -eq 535 ] ; then
mkdir -p ${XEROXDIR}${IMPRIMANTE}/pdf
mkdir -p ${XEROXDIR}${IMPRIMANTE}/tiff
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/pdf
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/tiff
chown -R xerox:sys ${XEROXDIR}${IMPRIMANTE}/pdf
chown -R xerox:sys ${XEROXDIR}${IMPRIMANTE}/tiff
elif [ ${TYPE} -eq 1632 ] ; then
mkdir -p ${XEROXDIR}${IMPRIMANTE}/jpeg
mkdir -p ${XEROXDIR}${IMPRIMANTE}/tiff
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/jpeg
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/tiff
chown -R xerox:sys ${XEROXDIR}${IMPRIMANTE}/jpeg
chown -R xerox:sys ${XEROXDIR}${IMPRIMANTE}/tiff
else
echo " ${TYPE} inconnu pour l'imprimante ${IMPRIMANTE}"
fi
done
}
#
# Fonction MAIL
#
fmail () {
#
if [ -s ${LOG} ]
then
printf "\nEnvoi du mail aux Destinataires suivants :\n ${MAILUSER}"
cat -s ${LOG} | mailx -s "Purge des spool XEROX sur le FILER" ${MAILUSER}
printf "\n"
else
printf "\n Pas de fichiers ou repertoires crees ce jour\n\n"
fi
}
#
#-------------#
# MAIN SCRIPT #
#-------------#
#
freset >&3
fmkdir >&3
fmail >&3
#
#----------------------------#
# Fermeture des descripteurs #
#----------------------------#
#
exec 3>&-
# Si on est arrivé la code de retour 0
exit 0
|
et le fichier :
Code: |
# more list_xerox
535 h386160p
1632 h386200z
1632 h386230a
535 h386140x
535 h386190r
535 h386080v
|
et lorsque que je le lance voila ce qu'il me retourne :
Code: |
# ./clean_xerox
+ XEROXDIR=/nas/scan/
+ + awk -F: {print $6}
+ ypmatch admin passwd
ADMINHOME=/user/admin
+ + date +%d-%m-%Y
DATE=13-10-2003
+ + cat -s /user/admin/.domainotes
DOMAINOTES=xxxxxxx
+ MAILUSER=xxxxxxxxxxx@rsib1006
+ LIST_IMP=/user/admin/bin/list_xerox
+ + grep -v ^#
+ cat -s /user/admin/bin/list_xerox
+ awk {print $0 $1}
LIST_PREV=535 h386160p535
1632 h386200z1632
1632 h386230a1632
535 h386140x535
535 h386190r535
535 h386080v535
+ LOG=/usr/tmp/13-10-2003_clean_xerox.log
+ exec
+ 3> /usr/tmp/13-10-2003_clean_xerox.log
+ exec
+ 1>& 3
+ exec
+ 2>& 3
#
|
et mon fichier de log :
Code: |
# more /usr/tmp/13-10-2003_clean_xerox.log
+ freset
+ 1>& 3
total 0
Remise à zero faite avec succès
+ fmkdir
+ 1>& 3
535 h386160p535 1632 h386200z1632 1632 h386230a1632 535 h386140x535 535 h386190r535 535 h386080v535
./clean_xerox[5]: 535 h386160p535^J1632 h386200z1632^J1632 h386230a1632^J535 h386140x535^J535 h386190r535^J535 h386080v535: cannot open
+ fmail
+ 1>& 3
Envoi du mail aux Destinataires suivants :
xxxxxxx
+ exec
+ + exit 0
|
Merci a tous !!
Last edited by broly on Mon Oct 13, 2003 12:41 pm; edited 1 time in total |
|
Back to top |
|
 |
broly Guru


Joined: 21 Feb 2003 Posts: 345 Location: cachan 94
|
Posted: Mon Oct 13, 2003 11:01 am Post subject: |
|
|
J'arrete pas d'essayer mais ca marche pas je c pas comment faire !! a l'aide !! JE dois faire fonctionner ca pour ce soir 16h00 je suis mal !!!!  |
|
Back to top |
|
 |
broly Guru


Joined: 21 Feb 2003 Posts: 345 Location: cachan 94
|
Posted: Mon Oct 13, 2003 12:37 pm Post subject: |
|
|
bon bah g qd meme reussi
pour info :
Code: |
#!/bin/ksh
set -x
#--------------------------#
# Definition des variables #
#--------------------------#
#
XEROXDIR=/nas/scan/
ADMINHOME=`ypmatch admin passwd | awk -F: '{print $6}'`
DATE=`date "+%d-%m-%Y"`
DOMAINOTES=`cat -s ${ADMINHOME}/.domainotes`
MAILUSER="xxxxxxxxxxxxxxx@${DOMAINOTES}"
LIST_IMP=${ADMINHOME}/bin/list_xerox
LIST_PREV=`cat -s ${LIST_IMP} | grep -v '^#'> /usr/tmp/list_imprimante`
LOG=/usr/tmp/${DATE}_clean_xerox.log
#
#------------------------------#
# Declaration des descripteurs #
#------------------------------#
#
# On logue TOUT dans un seul fichier
#
# Ouverture d'un descripteur en écriture
exec 3>${LOG}
#
# On redirige TOUT (sortie std et err) dans le descripteur 3
exec 1>&3
exec 2>&3
#
#---------------------------#
# Declaration des fonctions #
#---------------------------#
#
# Fonction remise a zero
#
freset () {
echo "Liste des répertoires avant suppression :"
ls -lrt ${XEROXDIR}
rm -rf ${XEROXDIR}*
if [ $? -eq 0 ] ; then
echo "Remise à zero faite avec succès"
else
echo "Il y a eu un problème : code d'erreur $?"
fi
}
#
# Fonction création des repertoires
#
fmkdir () {
cat /usr/tmp/list_imprimante | while read TYPE IMPRIMANTE
do
if [ ${TYPE} -eq 535 ] ; then
mkdir -p ${XEROXDIR}${IMPRIMANTE}/pdf
echo "mkdir -p ${XEROXDIR}${IMPRIMANTE}/pdf"
mkdir -p ${XEROXDIR}${IMPRIMANTE}/tiff
echo "mkdir -p ${XEROXDIR}${IMPRIMANTE}/tiff"
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/pdf
echo "chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/pdf"
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/tiff
echo "chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/tiff"
chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/pdf
echo "chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/pdf"
chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/tiff
echo "chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/tiff"
elif [ ${TYPE} -eq 1632 ] ; then
mkdir -p ${XEROXDIR}${IMPRIMANTE}/jpeg
echo "mkdir -p ${XEROXDIR}${IMPRIMANTE}/jpeg"
echo "mkdir -p ${XEROXDIR}${IMPRIMANTE}/jpeg"
mkdir -p ${XEROXDIR}${IMPRIMANTE}/tiff
echo "mkdir -p ${XEROXDIR}${IMPRIMANTE}/tiff"
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/jpeg
echo "chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/jpeg"
chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/tiff
echo "chmod -R 754 ${XEROXDIR}${IMPRIMANTE}/tiff"
chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/jpeg
echo "chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/jpeg"
chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/tiff
echo "chown -R root:sys ${XEROXDIR}${IMPRIMANTE}/tiff"
else
echo " ${TYPE} inconnu pour l'imprimante ${IMPRIMANTE}"
fi
done
}
#
# Fonction MAIL
#
fmail () {
#
if [ -s ${LOG} ]
then
printf "\nEnvoi du mail aux Destinataires suivants :\n ${MAILUSER}"
cat -s ${LOG} | mailx -s "Purge des spool XEROX sur le FILER" ${MAILUSER}
printf "\n"
else
printf "\n Pas de fichiers ou repertoires crees ce jour\n\n"
fi
}
#
#-------------#
# MAIN SCRIPT #
#-------------#
#
freset
fmkdir
fmail
rm -f /usr/tmp/list_imprimante
#
#----------------------------#
# Fermeture des descripteurs #
#----------------------------#
#
exec 3>&-
# Si on est arrivé la code de retour 0
exit 0
| [/code] |
|
Back to top |
|
 |
|