Maison > Tutoriel système > Linux > le corps du texte

Comment obtenir une copie de fichiers efficace dans le système Linux ?

WBOY
Libérer: 2024-02-09 18:03:12
avant
719 Les gens l'ont consulté

À mesure que la quantité de données continue d'augmenter, l'efficacité de la copie de fichiers est devenue un problème inévitable dans le fonctionnement et la maintenance du serveur. Il existe de nombreuses façons de copier des fichiers sous les systèmes Linux, mais de nombreux utilisateurs ne savent peut-être pas quelle méthode convient à leurs propres scénarios. Dans cet article, nous vous présenterons plusieurs méthodes courantes de copie de fichiers Linux, analyserons leurs avantages et leurs inconvénients et vous aiderons à trouver la solution qui vous convient le mieux.

Comment obtenir une copie de fichiers efficace dans le système Linux ?

J'ai testé toutes les commandes et scripts dans mon propre environnement, afin que vous puissiez les utiliser directement dans votre travail quotidien.

Habituellement, tout le monde préfère scp car c'est l'une des commandes natives pour la copie de fichiers. Cependant, les autres commandes répertoriées dans cet article sont également très utiles et je vous suggère de les essayer.

La copie de fichiers peut être facilement effectuée en utilisant les quatre méthodes suivantes.

scp : copiez des fichiers entre deux hôtes du réseau. Il utilise ssh pour le transfert de fichiers et utilise la même méthode d'authentification avec la même sécurité.
rsync : est un outil de copie de fichiers rapide et polyvalent. Il peut être copié localement, entre d'autres hôtes via un shell distant ou avec un démon rsync distant.
pscp : est un programme qui copie des fichiers sur plusieurs hôtes en parallèle. Il fournit de nombreuses fonctionnalités, telles que la configuration de transferts sans secret pour scp, l'enregistrement de la sortie dans des fichiers et le contrôle des délais d'attente.
prsync : est également un programme qui copie des fichiers sur plusieurs hôtes en parallèle. Il fournit également de nombreuses fonctionnalités, telles que la configuration de transferts sans mot de passe pour ssh, l'enregistrement de la sortie dans des fichiers et le contrôle du délai d'attente.

Méthode 1 : Comment copier des fichiers/dossiers du système local vers le système distant à l'aide de la commande scp sous Linux ?

La commande

scp nous permet de copier des fichiers/dossiers du système local vers le système distant.

Je vais copier le fichier output.txt du système local vers le dossier /opt/backup du système distant 2g.CentOS.com.

# scp output.txt root@2g.CentOS.com:/opt/backup

output.txt                                                                                              100% 2468    2.4KB/s  00:00
Copier après la connexion

Copiez les deux fichiers output.txt et passwd-up.sh du système local vers le dossier /opt/backup du système distant 2g.CentOs.com.

# scp output.txt passwd-up.sh root@2g.CentOS.com:/opt/backup

output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
Copier après la connexion

Copiez le dossier shell-script du système local vers le dossier /opt/back du système distant 2g.CentOs.com.

Cela copiera tous les fichiers du dossier shell-script dans /opt/back.

# scp -r /home/daygeek/2g/shell-script/ root@:/opt/backup/

output.txt 100% 2468 2.4KB/s 00:00
ovh.sh      100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
Copier après la connexion

Méthode 2 : Comment copier des fichiers/dossiers sur plusieurs systèmes distants à l'aide de la commande scp et du script shell sous Linux ?

Si vous souhaitez copier le même fichier sur plusieurs serveurs distants, vous devez créer un petit script shell comme celui ci-dessous.

De plus, le serveur doit être ajouté au fichier server-list.txt. Assurez-vous qu'après un ajout réussi, chaque serveur doit être sur sa propre ligne.

Au final, le script que vous souhaitez ressemble à ceci :

# file-copy.sh

#!/bin/sh
for server in `more server-list.txt`
do
  scp /home/daygeek/2g/shell-script/output.txt root@$server:/opt/backup
done
Copier après la connexion

Une fois terminé, définissez les autorisations exécutables sur le fichier file-copy.sh.

# chmod +x file-copy.sh
Copier après la connexion

Enfin, exécutez le script pour terminer la copie.

# ./file-copy.sh

output.txt 100% 2468 2.4KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
Copier après la connexion

Utilisez le script suivant pour copier plusieurs fichiers sur plusieurs serveurs distants.

# file-copy.sh

#!/bin/sh
for server in `more server-list.txt`
do
  scp /home/daygeek/2g/shell-script/output.txt passwd-up.sh root@$server:/opt/backup
done
Copier après la connexion

Les résultats ci-dessous montrent que les deux fichiers sont copiés sur les deux serveurs.

# ./file-cp.sh

output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
Copier après la connexion

Utilisez le script ci-dessous pour copier des dossiers sur plusieurs serveurs distants de manière récursive.

# file-copy.sh

#!/bin/sh
for server in `more server-list.txt`
do
  scp -r /home/daygeek/2g/shell-script/ root@$server:/opt/backup
done
Copier après la connexion

La sortie du script ci-dessus.

# ./file-cp.sh

output.txt 100% 2468 2.4KB/s 00:00
ovh.sh      100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00

output.txt 100% 2468 2.4KB/s 00:00
ovh.sh      100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
Copier après la connexion

Méthode 3 : Comment utiliser la commande pscp pour copier des fichiers/dossiers sur plusieurs systèmes distants sous Linux ?

La commande

pscp nous permet de copier directement des fichiers sur plusieurs serveurs distants.

Utilisez la commande pscp ci-dessous pour copier un seul fichier sur un serveur distant.

# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt /opt/backup

[1] 18:46:11 [SUCCESS] 2g.CentOS.com
Copier après la connexion

Utilisez la commande pscp ci-dessous pour copier plusieurs fichiers sur un serveur distant.

# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt ovh.sh /opt/backup

[1] 18:47:48 [SUCCESS] 2g.CentOS.com
Copier après la connexion

Utilisez la commande pscp ci-dessous pour copier de manière récursive l'intégralité du dossier sur le serveur distant.

# pscp.pssh -H 2g.CentOS.com -r /home/daygeek/2g/shell-script/ /opt/backup

[1] 18:48:46 [SUCCESS] 2g.CentOS.com
Copier après la connexion

Utilisez la commande pscp ci-dessous pour copier un seul fichier sur plusieurs serveurs distants à l'aide de la commande ci-dessous.

# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt /opt/backup

[1] 18:49:48 [SUCCESS] 2g.CentOS.com
[2] 18:49:48 [SUCCESS] 2g.Debian.com
Copier après la connexion

Utilisez la commande pscp ci-dessous pour copier plusieurs fichiers sur plusieurs serveurs distants.

# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt passwd-up.sh /opt/backup

[1] 18:50:30 [SUCCESS] 2g.Debian.com
[2] 18:50:30 [SUCCESS] 2g.CentOS.com
Copier après la connexion

**
Utilisez la commande suivante pour copier de manière récursive un dossier sur plusieurs serveurs distants. **

# pscp.pssh -h server-list.txt -r /home/daygeek/2g/shell-script/ /opt/backup

[1] 18:51:31 [SUCCESS] 2g.Debian.com
[2] 18:51:31 [SUCCESS] 2g.CentOS.com
Copier après la connexion

En général, il n'est pas difficile de réaliser une copie de fichiers efficace dans les systèmes Linux. Tant que vous choisissez les outils ou commandes correspondants en fonction des besoins réels, vous pouvez améliorer la vitesse et l'efficacité du transfert de fichiers. Dans cet article, nous présentons plusieurs méthodes courantes de copie de fichiers et analysons leurs avantages et inconvénients. J'espère que cet article pourra aider les administrateurs système Linux et permettre à chacun de mieux comprendre les principes et les méthodes de copie de fichiers.

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!

source:lxlinux.net
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!