shell [ script ] [ find -exec ] avec un [ tar ~~~ ] SOS

shell [ script ] [ find -exec ] avec un [ tar ~~~ ] SOS - Shell/Batch - Programmation

Marsh Posté le 21-10-2002 à 12:18:59    

un script qui fait:


.....
for SERVEUR in /truc/machin/liste_serveur
do
 rsh $SERVEUR find /var/.../machin -size +8196k -exec mv {} /tmp \;
 .....
done


ca ca marche
mais le but etant de compresser le fichier plutot que de l'envoyer dans /tmp pour libere de l'espace sur le disque /var
je pensais faire  


.....
for SERVEUR in /truc/machin/liste_serveur
do
 ....
 rsh $SERVEUR find /var/.../machin -size +8196k -exec tar cvf {}.tar {} \;
 .....
done


dans l'idee mais j'obtient un fichier nome {}.tar d'ou probleme
si vous avez une idee...


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
Reply

Marsh Posté le 21-10-2002 à 12:18:59   

Reply

Marsh Posté le 21-10-2002 à 13:34:53    

1ère chose : déjà, tar ne compresse pas, il permet d'agréger des fichiers en une seule archive compacte. Pour compresser, généralement, on associe tar avec gzip.
 
Ensuite, le paramètre de tar qui suit le cvf est le nom de l'archive à créer. mettre {}.tar signifie bien pour tar "créer un fichier tar nommé {}.tar comtenant les fichiers qui suivent [i.e. les fichiers trouvés par find]".
 
Est-ce donc bien la commande tar que tu cherches à exécuter ?

Reply

Marsh Posté le 21-10-2002 à 16:39:15    

_Mac_ a écrit a écrit :

1ère chose : déjà, tar ne compresse pas, il permet d'agréger des fichiers en une seule archive compacte. Pour compresser, généralement, on associe tar avec gzip.
 
Ensuite, le paramètre de tar qui suit le cvf est le nom de l'archive à créer. mettre {}.tar signifie bien pour tar "créer un fichier tar nommé {}.tar comtenant les fichiers qui suivent [i.e. les fichiers trouvés par find]".
 
Est-ce donc bien la commande tar que tu cherches à exécuter ?




 
je sais tout ca c'est juste a titre d'exemple
 
la c'est juste en test donc je compresse pas mais mon probleme c'est bien de lancer un tar qui compresse automatiquement les fichiers trouves par le find sous le meme nom en ajoutant juste l'extention tar .
 
c'est bien la ma question quelle syntaxe employer ?
.........-exec tar options ICILAQUECAMEMANQUE_ASAVOIR.tar {} \;


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
Reply

Marsh Posté le 22-10-2002 à 08:07:25    

[:tomilou]  
bon j'ai essaye de mettre le {} entre ""
de faire rsh HOST "~~~~~~~~~"  
et pleins d'autre truc
je trouve pas  
 
help......VERY IMPORTANT INSIDE.....
 :jap:


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
Reply

Marsh Posté le 22-10-2002 à 10:32:59    

bah....tu veux les compresser individuellement, tes fichiers??? Si oui, tu fais  
 
rsh $SERVEUR find /var/.../machin -size +8196k -exec gzip {} \;
 
et t'as plus de problème...

Reply

Marsh Posté le 22-10-2002 à 11:18:46    


XXXXX(root)[INTCMX]/exploit/unix/bin>ll *.saved
-rw-rw-rw-   1 root     dba        17399 Oct 22 11:11 recup_info.ksh.saved
XXXXX(root)[INTCMX]/exploit/unix/bin>rsh YYYYY "find /ZZZZ/bin -name *.save -size +16k -exec gzip {} \;"
XXXXX(root)[INTCMX]/exploit/unix/bin>ll *.saved.gz
*.saved.gz not found
XXXXX(root)[INTCMX]/exploit/unix/bin>


comme je le pensais ca marche pas  
 
a titre provisoir j'ai creer un script brouillon à lancer a la main pour chaque serveur :


XXXXX(root)[INTCMX]/exploit/unix/bin>more util_liste_taille_mail.test_mail_comprs.ksh
#!/bin/ksh
find /var/spool/mail -size +64k -print > /tmp/size
for FILE in `cat /tmp/size`
do
        FILE_TO=`echo $FILE | cut -d:/var/spool/mail/ -f2`
                # Variable permettant de generer le nom du fichier archive
                # identique au nom du fichier trop gros + extention
        if [ `ls -l *.gz | wc -l` != 0 ]
        then
                yes | rm $FILE_TO.tar.gz
                # Si un gros fichier est a nouveau presant  
                # Creer la nouvelle sauvegarde
        fi
        tar zcvf $FILE_TO.tar $FILE
        yes | gzip -9 $FILE_TO.tar
                # Garantir l'overwrite en cas de besoin
        yes | rm $FILE  
done
yes | rm /tmp/size
                # Pour faire le menage
 
 


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed