![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| UNIX pour les nuls Questions et réponses Si vous ne savez pas où poster un UNIX ou Linux question, post it here. Tous les systèmes UNIX et Linux, débutants bienvenus! |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| superviseur de serveur de script ... | Zedex | De programmation et de script Shell | 1 | 06-01-2008 05:10 PM |
| besoin d'aide pour faire un script pour surveiller si les fichiers sont passer par | jonathan184 | De programmation et de script Shell | 0 | 05-15-2007 12:47 PM |
| charge de surveiller script | locabuilt | UNIX for Advanced & Expert Users | 7 | 01-19-2007 02:37 PM |
| Script de suivi de l'aide de bases de données avec les tableaux | nelmest | De programmation et de script Shell | 1 | 09-05-2005 11:50 PM |
| Surveiller que les utilisateurs à accéder à mon répertoire | mnpradeep | High Level Programming | 1 | 03-21-2002 05:08 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Hep avec script pour surveiller le répertoire
Bonjour,
Je suis un débutant qui essaie d'écrire un script pour suivre un répertoire d'une série de 3 photos que je suis s'attend à obtenir ftp'd. Occasionnellement, nous suspendons les opérations de maintenance etc, mais nous avons encore obtenir les fichiers de façon il ne peut y avoir plus de 1 ensemble. S'il ya plus d'1 jeu, je voudrais faire passer toutes les dernières, mais à un répertoire d'archive. Par exemple, dire les fichiers sont nommés: acme1_090106.txt acme1_091006.txt acme1_092206.txt acme2_090106.txt acme2_091006.txt acme2_092206.txt acme3_090106.txt acme3_091006.txt acme3_092206.txt Je voudrais déplacer les anciens fichiers d'une archive acme1_090106.txt acme1_091006.txt acme2_090106.txt acme2_091006.txt acme3_090106.txt acme3_091006.txt I am running AIX version 5.31. C'est ce que j'ai à ce jour. Toute suggestion serait très apprécié. #! / bin / ksh # fichiers \u003d 0 LoopCnt \u003d 0 while (($ fichiers <4)), ne echo `date` pour le nom de `ls *` acme; faire if [-f $ name] puis laissez-les fichiers fichiers \u003d 1 fi fait if (($ fichiers <3)), puis si ((LoopCnt <6)), puis echo "n'ont pas encore 3 fichiers, dormir 10 minutes" echo "" sleep 600 fichiers \u003d 0 LoopCnt laisser LoopCnt \u003d 1 autre sortie fi fi fait C'est là où je suis coincé if (($ files> 3)), puis echo "Avoir plus de 3 fichiers, déplacez tous, mais plus tard aux archives" sortie fi |
|
||||
|
Il existe de nombreuses façons de le faire ... est basé sur le temps, le fichier créé dans le système et l'autre est fondée sur la date dans le nom du fichier ... Il y aura un problème avec la première méthode, si le dernier fichier ftp'd avant les anciens fichiers ... les anciens fichiers, le fichier sera plus tard que le dernier date de création des fichiers et dossiers à déplacer le dernier dossier de l'archive ... J'ai donc adopté la seconde méthode, qui archive les fichiers en fonction de la date dans le nom du fichier ... hope this helps. Code:
#!/usr/bin/ksh
for name in $(ls acme* | sed 's/_[0-9]*.txt//g' | uniq)
do
cnt=0
for fname in $(ls $name* | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\3\1\2/g' | sort -r )
do
echo $fname
nm=$(echo $fname | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\2\3\1/g' )
cnt=$(($cnt+1));
if [ $cnt -ne 1 ]
then
mv $nm ./bkup
echo "$nm moved to backup"
fi
done
done
Je l'ai testé et il fonctionne bien ... |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|