Maison  >  Article  >  Tutoriel système  >  Conseils d'utilisation de SCP : exclure les fichiers de manière récursive

Conseils d'utilisation de SCP : exclure les fichiers de manière récursive

WBOY
WBOYavant
2024-04-22 09:04:01462parcourir

Conseils dutilisation de SCP : exclure les fichiers de manière récursive

On peut utiliser la commande scp pour copier en toute sécurité des fichiers entre les hôtes du réseau. Il utilise ssh pour le transfert de données et l'authentification. La syntaxe typique est :

scp file1 user@host:/path/to/dest/
scp -r /path/to/source/ user@host:/path/to/dest/
scp exclut les fichiers

Je ne pense pas que vous puissiez filtrer ou exclure des fichiers lorsque vous utilisez la commande scp. Cependant, il existe une bonne solution pour exclure le fichier et le copier en toute sécurité à l'aide de ssh. Cette page explique comment filtrer ou exclure des fichiers lors de la copie récursive d'un répertoire à l'aide de scp.

Comment exclure des fichiers à l'aide de la commande rsync

La syntaxe est :

rsync av -e ssh --exclude='*.out' /path/to/source/ user@hostB:/path/to/dest/

Ici :

  1. -a : Récursion dans les répertoires, c'est-à-dire copier tous les fichiers et sous-répertoires. Active également le mode archive et toutes les autres options (équivalent à -rlptgoD)
  2. -v : sortie verbeuse
  3. -e ssh : Utilisez ssh comme shell distant pour que tout soit crypté
  4. --exclude='*.out' : exclut les fichiers correspondant au modèle, tels que *.out ou *.c, etc.
Exemple de commande rsync

Dans cet exemple, copiez récursivement tous les fichiers du répertoire ~/virt/, mais excluez tous les fichiers *.new :

	
$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp

Exemple de sortie :

Conseils dutilisation de SCP : exclure les fichiers de manière récursive

Fichiers d'exclusion Scp mais en utilisant la commande d'exclusion rsync

Si rsync n'est pas trouvé sur le serveur distant, la commande rsync échouera. Dans ce cas, essayez d'utiliser la commande scp suivante, qui utilise la correspondance de modèles de shell bash dans le répertoire courant (elle ne fonctionne pas avec l'option -r) :

$ ls

Exemple de sortie :

centos71.log centos71.qcow2 centos71.qcow2.new centos71.v2.qcow2.new meta-data user-data

Copiez tout ce qui se trouve dans le répertoire courant sauf .new :

$ shopt -s extglob
$ scp !(*.new) root@centos7:/tmp/

Exemple de sortie :

centos71.log 100 % 4262 1.3MB/s 00:00
centos71.qcow2 100 % 836MB 32.7MB/s 00: 25
meta-data 100 % 47 18.5KB/s 00:00
user-data 100 % 1543 569.7KB/s 00:00

Pour plus d'informations, consultez les pages de manuel suivantes :

$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer