Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 15/07/2010, à 20:32

gisclace

Bash qui rennome à la date du jour

Bonjour,

Pour mon serveur ftp, j'ai mis en place une sauvegarde automatique des logs (jour et semaine) en faisant un bash puis en le métant en tache planifié dans cron.

Mon script est le suivant:

#!/bin/bash
jour=$(date +%A)
source=/var/log/vsftpd.log
destination=/media/serveur/ftp/log/
rsync -a --stats --progress --delete $source $destination/$jour/
exit 0

En gros, hormis le fait que mes dossiers de destination doivent être en anglais, ça fonctionne.

Mais ce que je voudrais faire, c'est que le fichier de sortie soit renommé avec la date du jour.

j'ai essayé de rajouter dans le script:

name=$(date +%D)
rsync ........$destination/$jour/$name

mais comme vous vous en doutez, cela ne fonctionne pas ^^

Donc voila, si l'un de vous à une idée, je l'en remercie d'avance et lui paye une bière virtuel

Hors ligne

#2 Le 15/07/2010, à 21:25

jeanjd63

Re : Bash qui rennome à la date du jour

et avec ça ? :
jour=$(date +%Y%m%d)

Hors ligne

#3 Le 16/07/2010, à 00:23

Watael

Re : Bash qui rennome à la date du jour

- date n'est pas une commande intégrée à bash.
- cron n'a pas de valeurs par défaut comme bash.
- il faut, ou définir un PATH dans la crontab, ou indiquer un PATH cohérent avec les commandes externes utilisées dans le script.


eval, c'est mal.

Hors ligne

#4 Le 16/07/2010, à 10:14

credenhill

Re : Bash qui rennome à la date du jour

hello

gisclace a écrit :
name=$(date +%D)
rsync ........$destination/$jour/$name

les répertoires $destination et $jour existent ?

Hors ligne

#5 Le 16/07/2010, à 10:52

iuchiban

Re : Bash qui rennome à la date du jour

effectivement, si tu n'as qu'un seul fichier à archiver et auquel tu veux ajouter la date du jour, tu peux faire :

#!/bin/bash
source=/var/log/vsftpd.log
destination=/media/serveur/ftp/log/$(date +%Y%m%d).vsftpd.log
rsync -a --stats --progress --delete $source $destination
exit 0

Comme ça, ça te liste tous les fichiers avec la date au format anglais devant le fichier de log, donc trié chronologiquement.


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

Haut de page ↑