Besoin d'aide pour script bash : amélioration
Bonjour à tous,
J'ai fait un petit script bash me permettant de déplacer les fichiers d'un répertoire de dépôt (ftp) vers un répertoire de travail. Ce script vérifie que le fichier n'est pas en cours d'envoi et si ce n'est pas le cas, déplace ce fichier.
Le script fonctionne bien, sauf quand un utilisateur me mets des espaces dans un nom de fichier ou pire me créé un sous-repertoire. Malgré mes avertissement cela arrive encore.
Quelqu'un aurait une idée pour contourner ce problème ?
Merci beaucoup !!
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| # Date
DATE_JOUR=`date +%y%m%d_%H%M%S` # Date du jour
# Chemin des répertoires
PATH_INIT="/var/***/depot/" # Répertoire de base
PATH_DEST="/var/***/recupdepot/" # Répetoire de destination
if [ $(ls ${PATH_INIT}/|wc -l) != 0 ]; then
for i in $( ls ${PATH_INIT}/* -R )
do
/usr/sbin/lsof $i
if [ $? = "1" ]; then
# Fichier n'est pas utilisé"
cp "$i" "${PATH_DEST}/${DATE_JOUR}_$(basename $i)"
chmod 777 "${PATH_DEST}/${DATE_JOUR}_$(basename $i)"
chown -R stabo "${PATH_DEST}/${DATE_JOUR}_$(basename $i)"
echo "Fichier reçu : ${DATE_JOUR}_$(basename $i)" | mail -s "Nouveau fichier sur DEPOT FTP" xxx@yyy.zzz
rm -f $i
fi
done
fi |