Ignorer un fichier depuis le téléchargement à l'aide de scp

2

Juste une question simple. Supposons que j'ai quelques fichiers * .txt sur un serveur et que j'utilise la scpcommande standard pour télécharger * .txt sur mon ordinateur. Cependant, disons que l'un des fichiers, appelez-le "bad.txt" est extrêmement volumineux et se trouve être un fichier dont je n'ai pas besoin pour cette occasion spécifique.

Le téléchargement de ce fichier ralentirait tout le reste, alors j'aimerais ne pas télécharger ce fichier. Est-il possible d'éviter le téléchargement du fichier, car tous les fichiers * .txt sont en cours de téléchargement? J'espère que je reformule cette question correctement.

Amit
la source

Réponses:

1

Si vous utilisez rsync au lieu de scp, vous pouvez utiliser --exclude = bad.txt. c'est à dire

rsync -av --exclude=bad.txt remote.host:/files/*.txt /local/folder

Sinon, vous pouvez modifier votre commande scp pour récupérer les autres fichiers. Par exemple, si vous avez text1 - test9 et que vous ne voulez pas test9, essayez simplement d'utiliser test [1-8] .txt. Bien que la méthode rsync devrait fonctionner mieux.

Justin
la source
2
Merci pour la réponse @Justin. Est-il possible de le faire en temps réel? Supposons que je ne connaisse pas le nom exact du fichier, mais que je sache qu'il a une extension txt. Donc, je viens de récupérer tous les fichiers * .txt. Mais alors, comme ils téléchargent tous, je me rends compte qu’il en télécharge un qui est extrêmement volumineux et que je n’ai pas besoin - est-il possible de l’ignorer à la volée?
Amit
Non, pas que je sache. Cependant, cette commande rsync reprend là où elle se trouvait (-a est l'option d'archivage; ou -rplTGO). Pour que vous puissiez démarrer rsync, lorsque vous voyez qu'il frappe un fichier que vous ne voulez pas, appuyez sur ctrl + c, ajoutez l'exclusion et réexécutez-le pour le reprendre. Vous voudrez peut-être ajouter --progress à rsync dans ce cas, car -v affichera simplement le nom du fichier en cours de copie. (au cas où vous essayez de récupérer le mauvais fichier par sa taille au lieu de son nom). Sinon, s'il ne s'agit que de gros fichiers. rsync prend en charge --max-size = SIZE, c'est-à-dire --max-size = 5M ou --max-size = 2G
Justin le
C'est vraiment très utile. On dirait que je vais passer de la commande scpà la rsynccommande, car -max-size pourrait être exactement ce dont j'ai besoin!
Amit
1
Juste un FYI; rsync exige que le démon rsync soit exécuté sur le système. Ce n'est généralement pas un problème, car environ 99% des distributions l'activent par défaut. Quelque chose comme gentoo / slax pourrait causer des problèmes si elle n’a pas été activée.
Justin
Merci! J'utilise OS X, et je pense que c'est activé, et si ce n'est pas le cas, je dois avoir fait quelque chose pour que rsync fonctionne, comme je l'ai déjà utilisé :) Très utile cependant, appréciez-le.
Amit