GNU/Linux >> Tutoriels Linux >  >> Linux

Je voudrais diriger la sortie de find dans la liste d'entrée de scp, comment?

find . -name "*" -exec scp '{}' [email protected]:/directory ';'

Normalement Je "tarerais" tous les fichiers ensemble en un seul énorme blob et n'appellerais "scp" qu'une seule fois. Quelque chose comme ça :

tar czfv - file1 file2 dir1 dir2 | ssh [email protected]/ tar xvzf - -C directory
  • On pourrait jouer avec les paramètres --exclude=ou --include=de tar.
  • Une autre option serait d'utiliser rsync.

Vous pouvez le faire avec une seule commande scp .

  • pour les nouvelles versions de scp :
scp `find <path> -name <expression>` [email protected]:<path_where_to_copy>
  • pour les anciennes versions :
scp --exec=`find <path> -name <expression>` [email protected]:<path_where_to_copy>

Assurez-vous d'encapsuler le find commande entre backticks ` et non des guillemets simples ' .


for f in `find . -name "*"`;do scp $f [email protected]/directory;done

Linux
  1. Comment rediriger /dev/urandom vers la sortie audio Linux ?

  2. Comment diriger les résultats de 'find' vers mv sous Linux

  3. Comment trouver la liste des pilotes ODBC installés sur Linux

  4. Comment rediriger la sortie du programme comme son entrée

  5. Comment lister les dossiers à l'aide des commandes bash ?

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

Comment trouver la liste des référentiels installés sous Linux

Comment trouver toutes les polices installées sous Linux

Comment puis-je rediriger vers la commande split de Linux ?

Comment stocker la sortie de la commande dans un tableau dans Ansible ?

Comment lister tous les fichiers d'une partition sous Linux ?