La commande find
drole2mec
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
pourriez vous m'aidez ?
Je dois chercher des fichier ".dat" qui date de plus de un mois dans un répertoire, et les déplacer vers un autre.
ma commande est la suivant, mais elle est fausse:
find . -name "*.dat" -mtime +30 -exec mv * /root/toto/2 {} \;
Repertoire source: repertoire courant.
repertoire de destination : /root/toto/2
Merci d'avance.
pourriez vous m'aidez ?
Je dois chercher des fichier ".dat" qui date de plus de un mois dans un répertoire, et les déplacer vers un autre.
ma commande est la suivant, mais elle est fausse:
find . -name "*.dat" -mtime +30 -exec mv * /root/toto/2 {} \;
Repertoire source: repertoire courant.
repertoire de destination : /root/toto/2
Merci d'avance.
A voir également:
- La commande find
- Invite de commande - Guide
- Commande terminal mac - Guide
- Find and mount - Télécharger - Récupération de données
- Commande dism - Guide
- Diskpart commande - Guide
3 réponses
Merci beaucoup, c'est bien cela.
ci dessous le mini script que j'ai crée pour une utilisation quotidienne. il me manque la création de la log traçant le déroulement de ces opérations si vous pouvez m'aider à ce sujet.
__________
#!/bin/sh
REP=/root/toto/test
DEST=/root/toto/2
ARCH=/root/toto/3
DATE='date "+%d%m%y"'
find $REP -name "*.dat" -mtime -1 -exec mv {} $DEST \;
cd $DEST
tar cvf archive_$DATE.tar *
gzip archive_$DATE.tar
mv *.tar.gz $ARCH
cd $DEST
rm *
_______
Merci d'avance.
ci dessous le mini script que j'ai crée pour une utilisation quotidienne. il me manque la création de la log traçant le déroulement de ces opérations si vous pouvez m'aider à ce sujet.
__________
#!/bin/sh
REP=/root/toto/test
DEST=/root/toto/2
ARCH=/root/toto/3
DATE='date "+%d%m%y"'
find $REP -name "*.dat" -mtime -1 -exec mv {} $DEST \;
cd $DEST
tar cvf archive_$DATE.tar *
gzip archive_$DATE.tar
mv *.tar.gz $ARCH
cd $DEST
rm *
_______
Merci d'avance.
Il suffit de rediriger la sortie du script dans un fichier :
Par contre il faut rajouter les options de sortie verbeuse à chaque commande et éventuellement des "echo" avant chaque commande...
./script.sh | tee fich.log
Par contre il faut rajouter les options de sortie verbeuse à chaque commande et éventuellement des "echo" avant chaque commande...
#!/bin/sh REP=/root/toto/test DEST=/root/toto/2 ARCH=/root/toto/3 DATE='date "+%d%m%y"' find $REP -name "*.dat" -mtime -1 -exec mv -v {} $DEST \; cd $DEST tar cvf archive_$DATE.tar * gzip -v archive_$DATE.tar mv -v *.tar.gz $ARCH #cd $DEST # (ça c'est inutile on y est déjà dans le répertoire) rm -vf *
Merci pour tes remarques,
Cependant, je voulais intégrer ce script dans un ordonnanceur.
Donc je préfère mettre le tout dans un seul script s'il y a moyen.
Cependant, je voulais intégrer ce script dans un ordonnanceur.
Donc je préfère mettre le tout dans un seul script s'il y a moyen.
#!/bin/sh exec > /chemin/fich.log REP=/root/toto/test DEST=/root/toto/2 ARCH=/root/toto/3 DATE='date "+%d%m%y"' find $REP -name "*.dat" -mtime -1 -exec mv -v {} $DEST \; cd $DEST tar cvf archive_$DATE.tar * gzip -v archive_$DATE.tar mv -v *.tar.gz $ARCH #cd $DEST # (ça c'est inutile on y est déjà dans le répertoire) rm -vf *
Cependant, je voulais intégrer ce script dans un ordonnanceur
Par contre il te faudra donner les chemins absolus de chaque commande sans quoi...