Script avec FIND
Résolu
yann747
Messages postés
128
Statut
Membre
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour,
je cherche à Uploader des fichiers "récents" et de manière récursive sur un serveur distant.
j'utilise NCFTP en ligne de commande pour l'Upload.
Il me faudrait un script du genre
-find mon_repertoire -ctime -7
recuperer la liste de fichiers avec le chemin
puis faire une boucle
ncftpput fichier_trouvé
Merci d'avance de vos réponses.
je cherche à Uploader des fichiers "récents" et de manière récursive sur un serveur distant.
j'utilise NCFTP en ligne de commande pour l'Upload.
Il me faudrait un script du genre
-find mon_repertoire -ctime -7
recuperer la liste de fichiers avec le chemin
puis faire une boucle
ncftpput fichier_trouvé
Merci d'avance de vos réponses.
A voir également:
- Script avec FIND
- Script vidéo youtube - Guide
- Find and mount - Télécharger - Récupération de données
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Ava find - Télécharger - Divers Utilitaires
11 réponses
for f in 'find /home/mon_repertoire/* -ctime -7'; do
ncftpput user,pass,serveur, "$f"
done
c'est un début, mais je ne récupère pas l'arborescence... tout arrive à la racine de mon répertoire distant
ncftpput user,pass,serveur, "$f"
done
c'est un début, mais je ne récupère pas l'arborescence... tout arrive à la racine de mon répertoire distant
Salut,
Et un :
Ne marcherait-il pas ?
Et un :
ncftpput user,pass,serveur < <(find /home/mon_repertoire/* -ctime -7)
Ne marcherait-il pas ?
Oups j'avais pas vu ton édit ;-\
ncftpput user,pass,serveur /répertoire/destination < <(find /home/mon_repertoire/* -ctime -7)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
for f in 'find . -ctime -7'; do
ncftpput -R user,pass,serveur, "$f" // -R est une option de recursivité avec ncftp
done
Pour le coup, c'est récursif... mais un peu trop... J'ai tous les fichiers à la racine ainsi que dans les sous-répertoires (qui ont étés finalement crées)
ça avance doucement...
ncftpput -R user,pass,serveur, "$f" // -R est une option de recursivité avec ncftp
done
Pour le coup, c'est récursif... mais un peu trop... J'ai tous les fichiers à la racine ainsi que dans les sous-répertoires (qui ont étés finalement crées)
ça avance doucement...
J'ai tous les fichiers à la racine
Mais ce n'est pas la conséquence de la récursivité, mais le résultat de tes tests précédents, non ?
Mais ce n'est pas la conséquence de la récursivité, mais le résultat de tes tests précédents, non ?
J'ai relancé le test en supprimant tout du serveur distant, les fichiers sont bien en double (à la racine et dans les sous-répertoires) :-/
je peux peut-être recréer localement dans répertoire de travail l'arborescence avec une boucle find + cp -r ?
puis envoyer ça? Car pour l'envoi d'un dossier entier la récursivité marche bien.
une idée de boucle pour copier les fichiers récents dans un répertoire local, conservant l'arborescence?
Merci encore zipe31!
je peux peut-être recréer localement dans répertoire de travail l'arborescence avec une boucle find + cp -r ?
puis envoyer ça? Car pour l'envoi d'un dossier entier la récursivité marche bien.
une idée de boucle pour copier les fichiers récents dans un répertoire local, conservant l'arborescence?
Merci encore zipe31!
ncftpput -R user,pass,serveur, "$f"
C'est la syntaxe tel que tu l'emploies ?
Tu peux essayer avec :
C'est la syntaxe tel que tu l'emploies ?
Tu peux essayer avec :
ncftpput -R -u user -p password ftp://ton_serveur rep/destination "${f}"
Bon, après de multiples essais je crois avoir une bonne piste ;-))
Je plante le décor...
Dans mon répertoire actuel, un répertoire (rep/) avec un sous-répertoire (rep/sous-rep/) contenant 2 fichiers texte (rep/sous-rep/toto.txt et rep/sous-rep/fich.txt).
Sur mon ftp un répertoire "backup" à la racine.
Donc pour envoyer les 2 fichiers "fich.txt" et "toto.txt" sur le ftp dans "backup" tout en conservant l'arborescence :
J'ai donc maintenant sur mon ftp :
;-))
Je plante le décor...
Dans mon répertoire actuel, un répertoire (rep/) avec un sous-répertoire (rep/sous-rep/) contenant 2 fichiers texte (rep/sous-rep/toto.txt et rep/sous-rep/fich.txt).
Sur mon ftp un répertoire "backup" à la racine.
Donc pour envoyer les 2 fichiers "fich.txt" et "toto.txt" sur le ftp dans "backup" tout en conservant l'arborescence :
$ while read f; do ncftpput -R -m -f ncftp.cfg backup/"${f%/*}/" "${f}";done < <(find rep/ -type f) rep/sous-rep/toto.txt: 0.00 B 0.00 B/s rep/sous-rep/fich.txt: 0.00 B 0.00 B/s
J'ai donc maintenant sur mon ftp :
backup/ rep/ sous-rep/ toto.txt fich.txt
;-))