aide script

aide script - Shell/Batch - Programmation

Marsh Posté le 04-07-2005 à 11:10:36    

Bonjour, j'aurais voulu savoir la commande a faire pour deplacer les fichiers *.pdf d'un repertoire qui ont plus d'un mois vers un autre repertoire..
 
Merci d'avance.

Reply

Marsh Posté le 04-07-2005 à 11:10:36   

Reply

Marsh Posté le 04-07-2005 à 11:21:29    

Bonjour,
 
aide toi de mon script : http://forum.hardware.fr/hardwaref [...] 3264-1.htm
 
Cordialement

Reply

Marsh Posté le 04-07-2005 à 11:23:46    

doit yavoir poyen de faire plus simple qu'avec des goto etc.. nan?

Reply

Marsh Posté le 04-07-2005 à 11:24:36    

Pas si tu veux une gestion d'un nombre de jours, du genre 30 jours.

Reply

Marsh Posté le 04-07-2005 à 12:18:12    

je pensais qu'avec un truc du genre:
 
for fichier in /var/www/download/*.pdf
do
        stat --format=%X $fichier | cut -d' ' -f1
#       cp -i $fichier ~/Backup/$fichier
#       echo $fichier
done
 
avec le stat je recupere la date du fichier, j'aimerais soustraire de la date actuelle pour voir si cela fait + de 30 jours et voila..
 
ca peut etre bon comme cela?
 
le probleme est que je sais pas trop faire la soustraction avec la date actuelle

Reply

Marsh Posté le 04-07-2005 à 12:33:08    

C du batch dos ou linux ?

Reply

Marsh Posté le 04-07-2005 à 12:58:49    

linux..

Reply

Marsh Posté le 04-07-2005 à 13:09:02    

donc là je ne pourrais pas t'aider, je ne connais pas asser.

Reply

Marsh Posté le 04-07-2005 à 14:45:50    

Pourquoi pas simplement un truc du genre find . -ctime 30 -exec mv {} /rep/dest \; ?

Reply

Marsh Posté le 04-07-2005 à 15:02:36    

oui mais c'est l'inverse qu'il me faut, les fichiers crees de plus de 30 jours

Reply

Marsh Posté le 04-07-2005 à 15:02:36   

Reply

Marsh Posté le 04-07-2005 à 15:52:13    

sous unix la mesure du temps pour les fichiers se fait via 3 champs concernant maintenus pour chaque fichier :
    * atime : date du dernier accès (avec read par exemple)
    * mtime : date de la dernière modification (avec write par exemple, l'inode n'est pas nécessairement modifié)
    * ctime : date du dernier changement d'inode (avec chown ou chmod par exemple)
 
En général on retient la date de modification comme indicateur genre quand tu veux obtenir une liste de fichiers triés par date tu vas faire un ls -Fltr ou t représente la date de modification

Reply

Marsh Posté le 04-07-2005 à 15:57:53    

ok merci, j'ai ainsi fait :
 
find /var/www/templates/ -mtime +30 -name "*.pdf" -exec cp -i {} /home/monrep \;
 
Qui copie les fichiers pdf de plus de 30 jours dans un repertoire...
 
Je crois que cela fonctionne, merci beaucoup manatane

Reply

Sujets relatifs:

Leave a Replay

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