Forum Linux.debian/ubuntu Rsync : Changer le nom du fichier au passage

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
26
mar.
2019

Bonjour

J'ai une petite question concernant rsync, et je ne trouve pas de réponse, j'espère que quelqu'un pourra m'aider ici.

Dans le cadre d'une sauvegarde automatique journalière, j'ai un script qui se lance toute les nuits, pour faire une sauvegarde en local.

Je voudrais rajouter à ce script un envoi des fichiers sauvé vers un NAS.
J'ai un dossier tmp dans lequel je met mes fichiers à envoyer.

La subtilité étant que en local j'ai un historique de 30 jour que je maintiens avec des fichiers du type save-$date.tar.gz, alors que sur le NAS, je ne veux que la save du jour et de la veille.

Pour le moment je fait un
cp $repdesave/fichier-$date.tar.gz /$tmp/fichier.tar.gz
puis un
rsync -arvz --delete --backup --backup-dir=$nas_bu_rep -e ssh $tmp/fichier.tar.gz $USER@$SERVEUR:$nas_rep/ >> $log_sql_dest

Sauf que ce ne sont pas précisément des petits dossiers que je save, et il y en a 6 a sauver/transférer.
Ce que je me demande c'est si la commande
rsync -av --delete-after $rep_dest/fichier-$date.tar.gz $tmp/fichier.tar.gz 2>> $log_sql_dest
peut fonctionner?

Ou si je suis obligée de passer par un cp bien plus lourd?
Sinon, je pensais refaire un tar des mes 6 fichiers de sauvegarde et lui l'envoyer sur le NAS (mais la dernière fois que j'ai tenté (sur un autre serveur) ça marche pas…)

Je ne suis pas sure d'avoir été très claire…

Merci de vos lumières potentielles !

Tisla

  • # rsync est-il le bon outil ?

    Posté par  (Mastodon) . Évalué à 6.

    Bonjour,

    Je ne suis pas certain d'avoir compris ton besoin exactement, mais je me lance.

    De ce que je comprends, il me semble que ton but est de copier des fichiers à distance sur ton NAS. C'est clairement le domaine de scp.

    rsync est là pour synchroniser des répertoires à distance, et typiquement des répertoires bien gros, où peu de données changent : sa force est de ne copier que ce qui est nécessaire.

    Là il semble que de toutes façons tes fichiers seront différents chaque jour, et donc rsync devra chaque jour, de manière sûre et certaine recopier 6x2 fichiers. Autant utiliser scp.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: rsync est-il le bon outil ?

      Posté par  . Évalué à 1.

      C'est exactement ça !

      J'ai une sauvegarde de 6 dossiers (4 bases SQl, un dossier de fichiers txt essentiellement et un de programme HTML)

      Et j'ai deux système de sauvegarde parallèle : un en local avec un historique de 30 jour, qui fonctionne sans soucis, et un d'urgence, ou j’envoie les fichiers du jour sur un NAS, en cas de broke système ou de crypto virus avec juste un historique de la veille avec la fonction backup de Rsync.
      Mais du coup j'ai un conflit de nom… puisque mes fichiers locaux sont daté du jour, et que du coup faire rsync la dessus fait foirer la fonction backup.

      Du coup je cherchait une solution un peu plus clean que : refaire un tar, ou copier les tar dans le dossier tmp avant de les renommer

      Je suis pas sure de pouvoir renommer les fichier directement dans le NAS, à moins de mettre un cron en place dessus mais c'est par très très propre non plus…

      Merci de vos réponses en tout cas!

      • [^] # Re: rsync est-il le bon outil ?

        Posté par  (Mastodon) . Évalué à 2.

        C'est exactement ça !

        Donc tu n'as pas besoin de rsync.

        Du coup je cherchait une solution un peu plus clean que : refaire un tar, ou copier les tar dans le dossier tmp avant de les renommer

        Tu ne recopies rien, tu ne tar rien, tu ne prépares rien, tu fais un simple scp (c'est un cp à travers SSH, donc cp à distance quoi).

        Quelque chose comme :

        scp $repdesave/fichier-$date.tar.gz $USER@$SERVEUR:$nas_rep/fichier.tar.gz

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Pas clair :-)

    Posté par  . Évalué à 1.

    Ce n'est pas clair pour moi.

    Au cas où j'ai compris : n'est-il pas plus simple de renommer sur le NAS ?

    • sauvegarde locale
    • effacer anciens fichiers du NAS
    • rsync
    • renommer sur le NAS
  • # btrfs + rsync & --inplace --no-whole-file

    Posté par  . Évalué à 2.

    • pour ma part j'utilise une combinaison de BTRFS, rsync avec les options --inplace --no-whole-file
    • j'ai un script bash qui réalise des snapshots journaliers et sur 30 itérations
    • cette combinaison n'est pas très complexe et très efficiente : transfert rsync différenciel, gestion par layers du différentiels sur BTRFS : économie de place ;
    • concernant BTRFS, sur un volume de 15E6 fichiers et 17To, le snapshot se fait en 2 secondes et la suppression en quelques mili-secondes.
    • snapper permet aussi de faire tourner les snapshots avec un backend BTRFS.
    • [^] # Re: btrfs + rsync & --inplace --no-whole-file

      Posté par  . Évalué à 1. Dernière modification le 27 mars 2019 à 21:11.

      F E A R

      (nan, mais c'est sans doute super, hein. Mais F E A R quand même)

      Pour un sextumvirat ! Zenitram, Tanguy Ortolo, Maclag, xaccrocheur, arnaudus et alenvers présidents !

  • # Commentaire supprimé

    Posté par  . Évalué à 0. Dernière modification le 09 avril 2019 à 07:21.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 0. Dernière modification le 09 avril 2019 à 07:19.

      Ce commentaire a été supprimé par l’équipe de modération.

  • # Retour

    Posté par  . Évalué à 1.

    Merci de vos coups de main ! J'ai finalement réussi de façon pas trop crade, mes save se font bien, c'est une affaire qui roule !! merci !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.