Maison Tutoriel système Linux La sauvegarde est aussi simple que cela : apprenez à utiliser facilement la commande Linux rsync

La sauvegarde est aussi simple que cela : apprenez à utiliser facilement la commande Linux rsync

Feb 13, 2024 am 09:33 AM
linux linux教程 linux系统 linux命令 shell脚本 Linux embarqué Débuter avec Linux apprentissage Linux

Dans l'utilisation quotidienne des ordinateurs modernes, la sauvegarde des données est particulièrement importante. Pour les utilisateurs Linux, la commande rsync est une méthode courante de sauvegarde et de synchronisation de fichiers. Il permet une synchronisation rapide et efficace des données entre différents systèmes ou dossiers locaux.

Contexte du projet : la synchronisation des données est requise entre le serveur A et le serveur B (soit 1-to-1, soit plusieurs-to-many, voici un exemple simple 1-to-1). Cette solution est souvent utilisée pour la reprise après sinistre à distance.

备份就是那么简单:教你轻松使用 Linux rsync 命令

Il existe environ deux types de solutions de synchronisation basées sur des scénarios d'application, la synchronisation planifiée et la synchronisation en temps réel. La synchronisation planifiée présente les caractéristiques d'un temps de synchronisation fixe, de mauvaises performances en temps réel et d'une faible consommation de ressources ; la synchronisation en temps réel présente les caractéristiques d'une forte performance en temps réel, d'une synchronisation intensive et d'une consommation de ressources élevée.

1. Synchronisation programmée

1. Installer le logiciel :

yum install rsync -y
Copier après la connexion

2. Connexion sans mot de passe (vous pouvez également utiliser du texte brut pour simuler une connexion interactive, mais du point de vue de la sécurité, il est recommandé d'utiliser une connexion sans mot de passe) :

ssh-keygen -t rsa
Copier après la connexion

Après la génération, vous pouvez entrer dans le répertoire cd ~/.ssh/ et copier le contenu de la clé générée ~/.ssh/id_rsa.pub vers /root/.ssh/authorized_keys sur l'hôte distant

De nombreux étudiants ici sont curieux de savoir pourquoi il n'est pas nécessaire de saisir un mot de passe pour les opérations ci-dessus. Les étudiants qui connaissent la connexion sans mot de passe peuvent ignorer cette introduction. Voici une introduction au principe de connexion sans mot de passe :

rsa est également appelé algorithme à clé asymétrique, qui correspond à l'algorithme à clé symétrique.

L'algorithme dit à clé symétrique est une communication entre A et B. Afin que les deux parties puissent confirmer l'identité de l'autre, A et B s'accordent sur une clé k connue des deux parties pour déterminer l'identité comme suit :

A => (mk) B A envoie m texte clair et clé K à B, et B confirme que la clé K est la même que l'accord précédent de A, et il peut alors être sûr que l'identité de A est vraie. A l’inverse, il en va de même pour la communication de B vers A.

Le cryptage asymétrique nécessite deux clés : une clé publique et une clé privée. La clé publique et la clé privée forment une paire. Si la clé publique est utilisée pour chiffrer des données, elles ne peuvent être déchiffrées qu'avec la clé privée correspondante. Si les données sont chiffrées avec une clé privée, elles ne peuvent être déchiffrées qu'avec la clé publique correspondante. Étant donné que différentes clés sont utilisées pour le cryptage et le déchiffrement, on parle de cryptage asymétrique.

Ainsi, l'opération ci-dessus partage la clé publique du serveur A avec le serveur B (hôte distant), de sorte que le serveur A n'a plus besoin de la saisie de mot de passe interactive traditionnelle pour se connecter au serveur B. Le serveur B peut le confirmer via la clé publique du serveur A. . L'authenticité du serveur A (clé privée).

[root@localhost ~]# cd ~/.ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
Copier après la connexion

3. Écrivez un script shell

[root@localhost ~]# vim back.sh
#!/bin/sh
rsync -avz -e 'ssh -p 22' root@x.x.x.x:/XXX/pub /data/
Copier après la connexion

Remarque : La synchronisation des données de rsync est divisée en deux actions différentes : pull et push Avant d'écrire le script, assurez-vous de tester si la commande peut être exécutée normalement.

4. Configuration de l'exécution planifiée de Crontab (exécuter le script à 3 heures tous les jours)

À ce stade, la synchronisation planifiée est configurée.

2. Synchronisation en temps réel

备份就是那么简单:教你轻松使用 Linux rsync 命令

Introduction à Inotify

Inotify est une fonctionnalité Linux, disponible depuis la version 2.6.13, qui surveille les opérations du système de fichiers telles que les lectures, les écritures et les créations. Inotify est très réactif, très simple à utiliser et bien plus efficace que l'interrogation chargée des tâches cron.

Commencez à configurer Inotify

Remarque : rsync doit être installé sur les serveurs A et B avant de démarrer.

1. Ajustez les paramètres du noyau inotify sur le serveur B, vim /etc/sysctl.conf

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
Copier après la connexion

2. Faites en sorte que l'ajustement des paramètres du noyau inotify prenne effet immédiatement

sysctl -p
Copier après la connexion

3. Installez l'outil Inotify

# 先安装扩展包源,否则inotify-tools找不到
yum install epel-release
yum install inotify-tools 
Copier après la connexion

4. Ouvrez deux terminaux, un terminal effectue des opérations telles que la création et la suppression, et l'autre exécute l'outil Inotify-Tool. Il fonctionne normalement lors du test de l'outil Inotify-Tool

.
inotifywait -mrq -e modify,create,move,delete /var/www/

inotifywait:用于持续监控,实时输出结果
inotifywatch:用于短期监控,任务完成后再出结果
Copier après la connexion

5. Écrivez des scripts

vim /root/tongbu.sh

#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /root/cs"

RSYNC_CMD="rsync -avz -e 'ssh -

p 22'  /root/cs/  root@x.x.x.x:/root/cs/ "
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
    if [ $(pgrep rsync | wc -l) -le 0 ] ; then
        $RSYNC_CMD
    fi
done
Copier après la connexion

Remarque : Faites particulièrement attention ici, ne confondez pas la relation logique, c'est le serveur B qui pousse et le serveur A.

6. Ajoutez un arrière-plan automatique au démarrage, modifiez le fichier /etc/profile et ajoutez l'instruction suivante à la dernière ligne

/bin/bash /root/tongbu.sh &
Copier après la connexion

Ceci complète l'explication de la synchronisation planifiée et de la synchronisation en temps réel. L’application de différentes solutions selon différents scénarios nécessite une réponse flexible, et une attention particulière doit y être accordée. Pour les solutions de synchronisation en temps réel, le répertoire de surveillance ne doit pas être défini comme répertoire de journaux, sinon le processeur du serveur pourrait monter en flèche et tomber en panne.

En bref, la commande rsync est un outil de synchronisation et de sauvegarde de fichiers très puissant, flexible et efficace. Que ce soit dans un usage quotidien ou dans un environnement de production, il peut exercer ses avantages uniques. Grâce à l'introduction et à la pratique de cet article, je pense que tout le monde maîtrise l'utilisation et les compétences de base de cette commande. J'espère que vous pourrez mieux utiliser la commande rsync pour gérer et protéger vos données lors de votre future utilisation de Linux !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Différence entre Centos et Ubuntu Différence entre Centos et Ubuntu Apr 14, 2025 pm 09:09 PM

Les principales différences entre Centos et Ubuntu sont: l'origine (Centos provient de Red Hat, pour les entreprises; Ubuntu provient de Debian, pour les particuliers), la gestion des packages (Centos utilise Yum, se concentrant sur la stabilité; Ubuntu utilise APT, pour une fréquence de mise à jour élevée), le cycle de support (CentOS fournit 10 ans de soutien, Ubuntu fournit un large soutien de LT tutoriels et documents), utilisations (Centos est biaisé vers les serveurs, Ubuntu convient aux serveurs et aux ordinateurs de bureau), d'autres différences incluent la simplicité de l'installation (Centos est mince)

Que faire si l'image Docker échoue Que faire si l'image Docker échoue Apr 15, 2025 am 11:21 AM

Dépannage des étapes pour la construction d'image Docker échouée: cochez la syntaxe Dockerfile et la version de dépendance. Vérifiez si le contexte de construction contient le code source et les dépendances requis. Affichez le journal de construction pour les détails d'erreur. Utilisez l'option - cibler pour créer une phase hiérarchique pour identifier les points de défaillance. Assurez-vous d'utiliser la dernière version de Docker Engine. Créez l'image avec --t [Image-Name]: Debug Mode pour déboguer le problème. Vérifiez l'espace disque et assurez-vous qu'il est suffisant. Désactivez SELINUX pour éviter les interférences avec le processus de construction. Demandez de l'aide aux plateformes communautaires, fournissez Dockerfiles et créez des descriptions de journaux pour des suggestions plus spécifiques.

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Comment installer CentOS Comment installer CentOS Apr 14, 2025 pm 09:03 PM

Étapes d'installation de CentOS: Téléchargez l'image ISO et Burn Bootable Media; démarrer et sélectionner la source d'installation; sélectionnez la langue et la disposition du clavier; configurer le réseau; partitionner le disque dur; définir l'horloge système; créer l'utilisateur racine; sélectionnez le progiciel; démarrer l'installation; Redémarrez et démarrez à partir du disque dur une fois l'installation terminée.

Explication détaillée du principe docker Explication détaillée du principe docker Apr 14, 2025 pm 11:57 PM

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

See all articles