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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager