[Linux] Déplacer des fichiers en les renommant de manière particulière

Déplacer des fichiers en les renommant de manière particulière [Linux] - Linux et OS Alternatifs

Marsh Posté le 02-08-2005 à 00:53:36    

Bonjour, :hello:  
 
Attention : Question de total newbie !!!  :)
 
Je souhaite déplacer des fichiers de logs d'un répertoire à un autre pour cela je fais dans mon cas :
 
mv /var/log/httpd/*.gz /home/ftp/logs/
 
Par contre, je souhaiterai en plus que le fichier à l'arrivée soit renommé avec la date du jour en début.
 
Exemple :
Si je lance la copie en date du 01/08/2005 le fichier source s'appellant access_log.gz devra à l'arrivée s'appeller 2005-08-01_access_log.gz
 
Est-ce possible ? :??:  
 
David

Reply

Marsh Posté le 02-08-2005 à 00:53:36   

Reply

Marsh Posté le 02-08-2005 à 00:59:47    

Oui, avec un script genre:

Code :
  1. #!/bin/bash
  2. cd /var/log/httpd
  3. for FILE in *.gz; do
  4. mv $FILE /home/ftp/logs/`date "+%Y-%m-%d"`_$FILE ;
  5. done


 
C'est pas teste, donc a prendre avec des pincettes.


Message édité par deather2 le 02-08-2005 à 01:00:54
Reply

Marsh Posté le 02-08-2005 à 01:00:51    

il faut faire un petit script...
 

Code :
  1. #!/bin/bash
  2. cd /var/log/httpd/
  3. for i in `ls /var/log/httpd/*.gz`; do
  4. mv $i /home/ftp/logs/$(date -s"monformat de date qui va bien" )$i
  5. done


 
il faut evidement remplacer le "monformat de date qui va bien" par le trruc qui faut... ( un coup de man date permet de fixer ca... )
 
edit : grilled... en plus c'est la même...


Message édité par Profil supprimé le 02-08-2005 à 01:01:29
Reply

Marsh Posté le 02-08-2005 à 01:03:02    

:D

Reply

Marsh Posté le 02-08-2005 à 01:08:34    

Euh...  :sweat:  
 
Comment on fait un script ? Je me doute que je peux utiliser VI pour le saisir mais est-ce que je dois le mettre à un endroit particulier ? Le nommer d'une manière particulière ? Comment je le lance ensuite ???
 
Je sais, je sais...  :ange:  
C'est désespérant un newbie pareil !!!  :D  
 
David

Reply

Marsh Posté le 02-08-2005 à 01:12:10    

Tu as plusieurs facons.
Un script shell est un simple fichier texte.
Tu peux donc le faire avec n'importe quel editeur comme vi, emacs, nano, gedit, etc...
Tu peux aussi utiliser ton shell avec la commande suivante:
cat > fichier << EOF
Qui copiera dans fichier tout ce que tu tappes, jusqu'a ce que tu tappes EOF.
 
Ensuite, il faut le rendre executable:
chmod +x fichier
 
puis le lancer:
./fichier
 
Si tu veux automatiser son lancement, renseigne toi sur cron. Il y'a un bon tutorial sur lea-linux.


Message édité par deather2 le 02-08-2005 à 01:13:24
Reply

Marsh Posté le 02-08-2005 à 01:15:48    

Merci !
 
Je devrais pouvoir m'en sortir, maintenant !  ;)  
Sinon, je lancerais un SOS !
 
David

Reply

Sujets relatifs:

Leave a Replay

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