Deplacer 2000 fichiers - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 28-03-2003 à 13:00:22
kenshiro182 a écrit : Bonjour,
|
non pas du tout pacequ'un seul tourne à la fois...
donc ca va pas te saturer la machine, ca va sans doute faire monter ta charge CPU à 60-70% mais c'est tout...
Marsh Posté le 28-03-2003 à 13:57:59
vimaster a écrit : |
Ben le systeme il va passer son temps a lancer des processus qui font une tache simple. Lancer un processus a un cout, en lancer 2000 c'est lourd.
Marsh Posté le 28-03-2003 à 14:47:08
kenshiro182 a écrit : |
sur des alpha 800 256Mo donc pas bien puissant du tout...
on fait ca pendant la production mensuelle pour archiver les log et en plus dans la clause exec on fait en plus du move un compress et ca surcharge pas du tout (enfin dans des limites tres raisonables nos machines) et ca tourne en pleine production et pour l'autre partie pendant la coture financiere mensuelle qui elle fait des taches lourdes sur les DATABASES et on sature jamais les machines.
pourtant Patrol (monitoring) est reglé sur un seuil d'alerte à 75% de CPU
donc franchement tu as rien a craindre de chez rien à craindre
en treme de nombre de fichiers on doit avoir environ 75 jobs par machines/nuits donc autant de logs * 31 jours....
2300et quelques fichiers par machines à deplacer/compresser...
environ 13000 fichiers donc tu vois...ça craint rien
Marsh Posté le 28-03-2003 à 14:49:06
kenshiro182 a écrit : Bonjour,
|
Alors la, ca m'etonnerait beaucoup...
Marsh Posté le 28-03-2003 à 17:39:24
Code :
|
Cree un seul processus à la fois
Sinon tu as la possibilité de faire
Code :
|
Correction ( merci au post suivant )
Marsh Posté le 28-03-2003 à 17:43:21
becket a écrit :
|
for fichier_a_la_con in $( ls *bidule *truc )
do
echo -e "On deplace : $fichier_a_la_con \n"
mv $fichier_a_la_con rep/
done
avec le $ ca marche pas
Marsh Posté le 28-03-2003 à 12:47:32
Bonjour,
J'ai un probleme simple: j'ai un repertoire dans lequel je veux deplacer tous les fichiers .truc et .chose. Sauf qu'ils sont trop nombreux, et si je fais
mv *.truc *.chose repertoire
la ligne de commande est trop longue pour mon pauvre systeme (cygwin, mais ca doit etre la meme chose sur un vrai unix). Je pourrais le faire avec
find . -max-depth 1 -name "*.truc" -o -name "*.chose" -exec mv {} repertoire \;
Probleme: ca va creer 2000 fois un processus "mv" et ca va etre lourd. J'aurais bien voulu utiliser "xargs" pour donner a chaque "mv" non pas 1, mais 50 fichiers a deplacer (avec "xargs -n 50" ). Sauf que le parametre "repertoire" a mettre a la fin m'empeche d'avoir une solution directe. Bien sur je pourrais faire un script a la place de "mv", mais bon je suis sur qu'il y a plus simple)