Gorodenkoff - stock.adobe.com

Administration : rsync et scp, les outils pour protéger vos données

Les outils rsync et scp sont disponibles pour les utilisateurs de Linux, macOS et Windows. Ces deux utilitaires simples ont plusieurs cas d'utilisation pour la reprise après sinistre et la protection des données.

Il existe de nombreux outils de reprise après sinistre sophistiqués qui offrent des fonctionnalités exceptionnelles, mais certains cas d'utilisation sont bien plus efficaces avec des outils de base. C'est ici que des outils comme rsync et scp entrent en jeu.

Répliquer des fichiers pour répondre à des besoins de reprise n'est pas un concept nouveau. Les outils rsync et scp transfèrent les données entre les périphériques, ce qui permet aux administrateurs informatiques de gérer une réplication sécurisée et efficace.

Ces deux outils sont presque toujours installés sur les systèmes Linux. Ils sont également installés par défaut sur macOS, et il existe des options d'intégration pour les systèmes Windows. Cela fait de rsync et de scp des choix viables dans les environnements multiplateformes d'aujourd'hui.

De nombreux systèmes autorisent le port TCP 22, utilisé pour Secure Socket Shell (SSH), qui est le port sur lequel scp s'appuie. Rsync utilise le port 22 s'il est appelé avec SSH, ce qui est généralement le cas. Sinon, il dépend du port 873. Le fait est que vous n'avez probablement pas besoin de reconfigurer les paramètres du pare-feu pour activer la réplication avec l'un ou l'autre outil.

Synchroniser des fichiers avec rsync

Rsync est un outil de synchronisation qui se distingue par sa capacité à n'envoyer que les fichiers modifiés sur le réseau plutôt que de répliquer à chaque fois les fichiers inchangés existants. Il s'agit d'un outil de base de longue date dans le monde Linux, et il est donc essentiel d'apprendre à l'utiliser pour la reprise après sinistre.

Rsync utilise la syntaxe typique source-destination utilisée par d'autres outils, tels que cp et scp. Voici quelques-unes des options rsync disponibles :

Option Description
-a Mode archive qui préserve les autorisations, la propriété, les groupes, les horodatages et les liens symboliques.
-v Mode verbeux qui fournit des détails sur le transfert de données.
-z Mode qui compresse les fichiers pour des transferts plus efficaces.
-h Affiche une sortie lisible par l'homme.
-n Mode d'exécution à blanc, qui simule le transfert sans l'effectuer, ce qui permet aux administrateurs de tester la commande.

L'option d'exécution à blanc est particulièrement utile pour tester les scripts de récupération.

Syntaxe de base de rsync

Vous pouvez lancer la réplication rsync vers ou depuis le système local, ce qui est utile si vous développez des scripts pour gérer les transferts de données sur votre système local.

Un transfert de local à distant place les fichiers stockés sur votre serveur sur un système distant. Si vous avez un grand répertoire de projet à répliquer chaque nuit vers un bureau distant, la syntaxe pourrait ressembler à ce qui suit :

server onto a remote system. If you have a large project directory to replicate to a remote office nightly, the syntax might look like the following:

rsync /devteam/projects/* devuser@remoteserver:/devprojects
Screenshot of syntax to move local files to a remote device with rsync.
Use rsync to push local files to a remote device.

L'astérisque (*) a sa signification habituelle ici, mais avec quelques réserves. Il ne voit pas les fichiers cachés ou d'autres fichiers ayant des attributs atypiques. Utilisez le caractère point (.) pour signifier « ce répertoire » afin de vous assurer que vous répliquez les fichiers cachés. Veillez à utiliser l'option -a en tandem avec * pour récupérer tous les fichiers.

Vous pouvez toujours utiliser * pour inclure des fichiers spécifiques dans le transfert, par exemple en copiant tous les fichiers se terminant par .txt en tapant *.txt dans le chemin d'accès.

Cette situation illustre parfaitement la raison pour laquelle les essais de rsync sont essentiels pour tester une configuration de reprise après sinistre.

Si vous disposez d'un système distant à partir duquel vous transférez des fichiers vers votre serveur local, tapez ce qui suit :

rsync devuser@remoteserver:/devprojects/* /devteam/projects
Screenshot of syntax to pull files on a remote device to the local system with rsync.
Use rsync to pull files on a remote device to the local system.

Dans les deux cas ci-dessus, devuser est un compte d'utilisateur existant sur le serveur distant et disposant des droits de lecture et/ou d'écriture sur les répertoires.

Cas d'utilisation courants de rsync

Il existe plusieurs domaines de la protection des données et de la reprise après sinistre où rsync peut être utile. Considérez les cas d'utilisation suivants :

  • Vous devez répliquer chaque nuit les mises à jour incrémentielles de la documentation du bureau central vers huit succursales distantes.
  • Vous devez déployer un miroir de l'environnement de production dans une situation de basculement ou de test.
  • Vous devez centraliser les fichiers des utilisateurs de six serveurs de succursales distantes sur un seul serveur du bureau central chaque nuit avant d'exécuter un programme de sauvegarde sur le serveur.
  • Vous devez maintenir efficacement des copies redondantes de fichiers multimédias de marketing entre trois bureaux distants chaque semaine sans dupliquer les fichiers.
  • Vous devez conserver la configuration actuelle ou les fichiers de données sur les périphériques distants.

L'automatisation des fonctionnalités de base de rsync à l'aide de scripts et de la programmation périodique cron permet aux administrateurs de gérer facilement la réplication des données. Cela permet de répondre aux exigences de reprise après sinistre et d'améliorer l'accès des utilisateurs et l'efficacité du réseau.

Intégration de Rsync à d'autres systèmes d'exploitation

Vous travaillez dans un environnement multiplateforme composé de systèmes Linux, Windows et macOS ? Il existe plusieurs options pour intégrer des systèmes d'exploitation autres que Linux dans vos plans de reprise après sinistre rsync.

Les serveurs Windows peuvent utiliser le sous-système Windows pour Linux. Il suffit d'ajouter une distribution, telle qu'Ubuntu, et de configurer rsync comme vous le feriez pour n'importe quel autre périphérique Linux. MacOS contient déjà rsync, de sorte que ces systèmes sont prêts à participer immédiatement.

Screenshot of rsync installed on macOS.
Rsync is installed by default on macOS.

Copier des fichiers avec scp

L'outil scp est un moyen simple et sûr de gérer les transferts de données entre plusieurs systèmes. Il peut être le mécanisme de transfert dans les plans de sauvegarde et de récupération scriptés, en particulier lors de la gestion des fichiers de configuration pour des services tels qu'Apache, Nginx et MariaDB.

Le programme scp présente plusieurs avantages s'il est configuré correctement, notamment les suivants :

  • Transferts sécurisés via OpenSSH en utilisant le port TCP 22.
  • Fonctionnalité multiplateforme entre les systèmes Linux, macOS et Windows.
  • Authentification par clé pour une plus grande sécurité et une automatisation plus facile sans exposer les mots de passe.
  • Compression de fichiers intégrée pour plus d'efficacité.
  • Journalisation détaillée pour les audits de sécurité et la responsabilisation.

La syntaxe de scp est également simple, utilisant la désignation Linux standard « source destination », comme dans l'exemple suivant :

scp options /path/to/source user@remoteserver:/path/to/destination

Syntaxe de base de scp

Comme rsync, scp peut copier des fichiers de votre système local vers une destination distante ou extraire des fichiers d'un périphérique distant vers votre système. L'un ou l'autre est approprié, en fonction de vos besoins.

Pour pousser des fichiers de votre système vers une destination distante, utilisez la commande scp suivante :

scp /devteam/projects/* devuser@remoteserver:/devprojects
Screenshot of syntax to copy local files to a remote device with scp.
Use scp to copy local files to a remote device.

Il en va de même pour l'extraction de fichiers à partir d'une source distante. Utilisez la commande suivante pour y parvenir :

scp devuser@remoteserver:/devprojects/* /devteam/projects
Screenshot of syntax to copy files on a remote device to the local system with scp.
Use scp to copy files on a remote device to the local system.

Ces commandes sont faciles à intégrer dans un script de sauvegarde ou dans un autre flux de travail automatisé afin de déplacer des fichiers entre des systèmes disparates de manière rapide et sécurisée.

Cas d'utilisation courants pour scp

Il est facile de trouver des scénarios de reprise après sinistre qui démontrent l'utilité de scp dans les situations quotidiennes. Voici quelques domaines dans lesquels scp peut contribuer aux efforts de reprise :

  • Transferts et synchronisation de fichiers.
  • Sauvegarde.
  • Déploiement de logiciels.
  • Gestion des fichiers de configuration.
  • Migration de données.

Les scripts et autres formes d'automatisation s'appuient régulièrement sur la syntaxe simple de scp pour fournir un flux de travail sans intervention.

Intégration de scp avec d'autres systèmes d'exploitation

Comme rsync, scp est inclus dans la plupart des distributions Linux et dans macOS. Windows 10, Windows 11, Windows Server 2022 et Windows Server 2025 incluent tous le paquet OpenSSH. Les utilisateurs n'ont donc plus besoin d'ajouter des logiciels tiers aux serveurs de leur entreprise.

Bonnes pratiques pour scp

Tenez compte des meilleures pratiques suivantes lors de l'intégration de scp dans vos plans de reprise après sinistre :

  • Utilisez l'authentification par clé.
  • Activez la journalisation et gérez soigneusement les fichiers journaux.
  • Activez la compression pour un stockage efficace et des transferts sur le réseau.
  • Testez régulièrement la fonctionnalité de copie de fichiers.
  • Mettez à jour les scripts de copie de fichiers après des modifications majeures de l'infrastructure.

Le respect de ces bonnes pratiques avec scp vous aidera à maintenir un environnement de sauvegarde et de restauration efficace et fiable.

Un script Bash bien écrit utilisant rsync et scp peut aider tout administrateur à déplacer des fichiers sur le réseau de manière efficace et sécurisée, à des fins de reprise après sinistre ou de simple gestion de fichiers.

Pour approfondir sur Administration du stockage