Rsync sauvegarder les fichiers date inférieure à 1 an

Rsync sauvegarder les fichiers date inférieure à 1 an - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 27-02-2014 à 09:43:31    

Bonjour à tous.  
 
Je suis nouveau sur ce forum.
 
Voila ma question : j'ai un gros volume de données, est-il possible de sauvegarder avec Rsync tous les fichiers dont la date est inférieure à 1 an.
 
Malgré plusieurs recherches sur internet je n'ai pas trouvé de solutions.
 
Avez une idée à proposer.
 
Merci d'avance pour vos réponses.
 
 
 

Reply

Marsh Posté le 27-02-2014 à 09:43:31   

Reply

Marsh Posté le 27-02-2014 à 11:48:41    

Salut,
 
Une solution envisageable serait de construire un fichier contenant une liste de fichiers à exclure de la commande rsync grâce à sa directive "−−exclude−from=FILE", avec la commande find ...
 
La commande find suivante affiche les fichiers ayant moins d'un an :
 

find /chemin -type f ! -mtime +365 -print


 
À toi de construire ensuite la commande rsync excluant les fichiers contenus dans cette liste...


---------------
$ man woman
Reply

Marsh Posté le 27-02-2014 à 11:53:12    

Hello,
 
Je te propose de faire un petit script qui fera un find dans ton dossier source en fonction de l'âge maximum.
 
La sortie du find sera donnée en paramètre à rsync pour faire le backup dans le dossier destination.
 
J'ai fait au plus simple (il te reste à configurer l'âge max, la source/destination ainsi que les options de rsync) :
 
#!/bin/bash
MAX_AGE=60
SRC_DIR=/home/mint/tmp/source
DST_DIR=/home/mint/tmp/destination
 
# Va dans le dossier source
cd $SRC_DIR
 
# Cherche tous les fichiers dont l'age est inferieur à MAX_AGE -> variable file
for file in `find . -type f -daystart -mtime -$MAX_AGE`
do
   # Debug
   echo "$file"
 
   # Rsync le fichier trouvé dans le dossier de destination
   rsync --stats -auvz --times -og $file $DST_DIR
done


---------------
Dell 17R-SE / HTPC 3770K / Domotique DIY / Volumio DAC Rpi3 / Recalbox v4 Rpi3 / Citroen 2CV6 Special E
Reply

Marsh Posté le 28-02-2014 à 14:44:21    

Oui enfin là tu vas lancer un rsync pour chaque fichier, donc si y a beaucoup de fichiers, c'est pas forcément très pertinent si le but c'est d'optimiser les temps de transferts.

 

La solution de créer un fichier d'exclusion (ou d'inclusion, puisque rsync le propose aussi) sera plus efficace.

Message cité 1 fois
Message édité par e_esprit le 28-02-2014 à 14:44:32

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 28-02-2014 à 20:48:25    

e_esprit a écrit :

Oui enfin là tu vas lancer un rsync pour chaque fichier, donc si y a beaucoup de fichiers, c'est pas forcément très pertinent si le but c'est d'optimiser les temps de transferts.
 
La solution de créer un fichier d'exclusion (ou d'inclusion, puisque rsync le propose aussi) sera plus efficace.


 
Exact, comme je l'ai dis j'ai fait au plus simple, considérant que la clé du problème de modus57 était de trouver les fichiers âgés de moins de X jours  :)
 
On adaptera en fonction de ce qu'il en pense  :D


Message édité par Zorglub1975 le 28-02-2014 à 20:48:56

---------------
Dell 17R-SE / HTPC 3770K / Domotique DIY / Volumio DAC Rpi3 / Recalbox v4 Rpi3 / Citroen 2CV6 Special E
Reply

Marsh Posté le 28-02-2014 à 21:16:30    

En plus de ça ton script fait perdre toute l'arborescence :o


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 01-03-2014 à 08:40:23    

Bonjour à tous.
 
Merci pour vos réponses.
 
En effet le volume de données est important, c'est dans le but d'optimiser les temps de transferts que je souhaite sauvegarder et synchroniser les dossiers, sous- dossiers et fichiers modifiés, supprimés ou créés de la source vers la destination dont la date est inférieure à 1 an.  
 
 

Reply

Sujets relatifs:

Leave a Replay

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