


La sauvegarde est aussi simple que cela : apprenez à utiliser facilement la commande Linux rsync
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.

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
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
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
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/
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

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
2. Faites en sorte que l'ajustement des paramètres du noyau inotify prenne effet immédiatement
sysctl -p
3. Installez l'outil Inotify
# 先安装扩展包源,否则inotify-tools找不到 yum install epel-release yum install inotify-tools
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:用于短期监控,任务完成后再出结果
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
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 &
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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).

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)

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.

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).

É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.

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.

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

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.
