Question Comment copier des données depuis un serveur Ubuntu en utilisant terminal par telnet?


J'ai un dossier à copier composé de PHP et de fichiers similaires pour la création d'un site Web.

Comment copier un dossier du serveur (Linux Ubuntu) sur le PC client (Linux Ubuntu) en utilisant un terminal? Pourrais-je utiliser ftp? Pour la connexion au terminal, j'utilise Telnet.

L'emplacement du dossier sur le serveur:

qa@ubuntu:~/www/html/js 

Et je veux le copier sur le client à:

qa@desktop2:~/home/qa/html

4
2017-07-01 01:59


origine




Réponses:


Vous pouvez utiliser scp si vous avez un serveur ssh exécuté sur la machine distante (une bonne chose à avoir de toute façon). Telnet n'est pas bon, c'est non crypté et gênant.

Comme je suppose que vous pouvez accéder à ssh sur la machine distante, la méthode de base pour utiliser scp est la suivante:

scp -r ~/www/html/js qa@desktop2:~/home/qa/html/js

En supposant que vous voulez copier de qa@ubuntu:~/www/html/js à qa@desktop2:~/home/qa/html/js scp est assez puissant, donc je suggère de lire la page de manuel pour

man scp

5
2017-07-01 04:47



La syntaxe correcte est user@host:path, ne pas  user@host/~/path. Si j'ai bien compris, votre exemple devrait être scp qa@ubuntu:www/html/js qa@desktop2:home/qa/html (même si on ne sait pas si @klox voulait ~/home/qa/html ou ~/html). - grawity
Oups, désolé, mon mauvais. Merci pour la correction. - Aatch


Modifier: Vous aurez du mal à copier des fichiers via telnet mon ami. Pourquoi insistez-vous pour utiliser un terminal?

Cela signifie que vous exécutez Windows, donc probablement avoir accès à un environnement graphique. Donc, l'utilisation du partage de fichiers Windows / d'un navigateur Web / client FTP / client ssh / etc serait-elle exclue parce qu'ils sont graphiques? Et si oui, pourquoi?

Avez-vous un accès root sur la machine Ubuntu? Je vous suggère d'installer un serveur ssh:

sudo apt-get install openssh-server

Ensuite, prenez un client Windows SSH / SCP, par exemple. WinSCP, et utilisez-le pour vous connecter au serveur et copier vos fichiers.

Ou si vous voulez vraiment le faire via le terminal pour une raison quelconque, lancez Cygwin et installez-le, puis utilisez la commande «scp» mentionnée ci-dessous.

Vous devez être un peu plus précis sur votre situation.

  • quel système d'exploitation le client exécute-t-il?
  • Quel est le système d'exploitation du serveur?
  • quels services le serveur exécute-t-il, si vous le savez (FTP, HTTP, NFS, SMB, SSH, etc.)

Par exemple, si vous avez un accès SSH au serveur, quelque chose comme ça fonctionnerait:

scp user@server.mydomain.com:/remote/path/file.txt /local/path/

Si vous avez un accès HTTP au fichier (http://server.mydomain.com/path/file.txt) alors comme l'a suggéré l'affiche ci-dessus, wget:

wget http://server.mydomain.com/path/file.txt

La réponse dépend fortement de votre situation.


4
2017-07-01 02:25



regarde ma question éditée .. - klox
l'emplacement du dossier sur le serveur: qa @ ubuntu: ~ / www / html / js et je veux copier sur le client: qa @ desktop2: ~ / home / qa / html - klox


Si vous utilisez Windows pour cela, et que vous ne pouvez vraiment pas utiliser HTTP pour obtenir le fichier, vous pouvez recourir au transfert de fichiers sur des protocoles ASCII 7 bits. Je parle de Z-Modem. Il a été utilisé pour la dernière fois sur Internet par ligne commutée, en particulier dans le monde BBS, avec une ligne secondaire dans les transferts Unix-à-Unix lorsque le FTP n'était pas disponible (généralement sur rsh, mais je digresse).

Quoi qu'il en soit, pour obtenir cette arborescence de répertoires sous Windows, sans utiliser FTP ou HTTP, juste terminal.

  1. Telnet au serveur en utilisant HyperTerm.
  2. Tar / Zip les répertoires qui vous intéressent
  3. De la ligne de commande,
    sz filename.tar.gz 
  4. Dans Hyperterm, sélectionnez Transférer -> Recevoir un fichier.
  5. Spécifiez votre chemin de sauvegarde et "Zmodem" comme protocole de réception.

Il ne sera pas transféré aussi vite que FTP ou HTTP, mais vous obtiendrez des fichiers.


1
2017-07-01 04:06



comment si je veux transférer avec le même OS linux à linux ..? - klox


Si ssh / scp n'est pas disponible, essayez netcat.

http://nakkaya.com/2009/04/15/using-netcat-for-file-transfers/

Netcat est fondamentalement un simple fichier de vidage vers un port réseau. Il est utile pour le transfert vers un hôte barebone lorsque ssh n'est pas disponible ou pour transférer des fichiers très volumineux sur un réseau local / Internet où la surcharge de chiffrement SSH devient un goulot d'étranglement.

Cela dit, scp est toujours le moyen standard de transférer des fichiers depuis des hôtes distants. Et si vous essayez de transférer un répertoire entier, il est préférable d'utiliser rsync sur ssh:

rsync -avz -e ssh qa@ubuntu:~/www/html/js  ~/home/qa/html

Scp traverse le répertoire au fur et à mesure de son transfert, il peut être très lent avec les gros dossiers. Rsync parcourt tout le répertoire et applique la compression gzip avant le début du transfert. Si une copie locale existe, rsync with compare les deux et ne transfère que le delta: la partie modifiée des fichiers.

Et une correction supplémentaire pour la suggestion scp précédente: scp un répertoire entier nécessite l'option -r:

scp -r qa@ubuntu:~/www/html/js  ~/home/qa/html

1
2017-07-29 08:47





Cela dépend de la façon dont le fichier est servi. Si le fichier peut être téléchargé depuis un navigateur Web, la commande "wget" fonctionnera: http://linux.die.net/man/1/wget


0
2017-07-01 02:14