Transfert de fichiers simple

17

Étant donné deux boîtiers Linux sur un LAN, quelle est la façon la plus simple de transférer des fichiers entre eux?

David Thornley
la source

Réponses:

22

J'utilise scp.

scp source desthost:/path/to/dest/.

pour copier de la machine locale vers la machine distante, ou

scp srchost:/path/to/file/file .

pour copier d'une machine distante vers la machine locale.

Si le nom d'utilisateur n'est pas le même sur la machine distante,

scp user@srchost:/path/to/file/file .
KeithB
la source
3
J'ajouterais que vous pouvez utiliser l'option -r avec scp pour copier récursivement un répertoire entier scp -r source desthost: / chemin / vers / dest /
Steve Burdine
1
@Steve_ Bon point. De plus, -C compressera les fichiers au fur et à mesure de leur transfert, ce qui peut faciliter les liaisons lentes.
KeithB
Il est soit scpou rsyncpour moi.
Josh K
6

Je monte généralement un répertoire via ssh via FUSE et sshfs.

Monter:

$ sshfs name@server:/path/to/dir /path/to/mount/point

Démonter:

$ fusermount -u /path/to/mount/point
Maik
la source
5

J'utilise netcat (si je n'ai pas besoin de sécurité)

nc -l -p 1234 < send_file   # 'server'
nc x.y.z.t 1234 > receive_file  # 'client'
nc3b
la source
2
J'aime particulièrement ce combo:tar -c files and folders/ |pv -cN in|lzop|pv -cN out|nc x.y.z.t 1234
jpc
5

nfs pourrait être utile.

Le système de fichiers réseau (NFS) permet à un nœud client d'effectuer un accès transparent aux fichiers sur le réseau. En utilisant NFS, un nœud client fonctionne sur des fichiers résidant sur une variété de serveurs et d'architectures de serveurs, et sur une variété de systèmes d'exploitation. Les appels d'accès aux fichiers sur le client (tels que les demandes de lecture) sont convertis en demandes de protocole NFS et envoyés au système serveur via le réseau.

Vous pourriez avoir besoin de l'aide de votre administrateur Unix pour le configurer la première fois mais c'est très utile.

Hemant
la source
Pour les transferts rapide-n-sale * nix-à-* nix, rien ne se rapproche de NFS. Un bon administrateur peut monter les deux boîtes et effectuer des transferts en moins de 5 minutes, il est presque transparent pour le reste du système, et il est bien connu et stable. +1 pour quelque chose qui ne nécessite pas de frapper une ligne de commande à chaque fois pour transférer quelque chose.
Avery Payne
2

Pour les transferts de fichiers uniques, j'utilise généralement SFTP ou un partage samba existant.

Pour rester synchronisé, je vous suggère d'essayer rsync ou unisson (pour la synchronisation bidirectionnelle)

Edit: scp serait mieux alors sftp, car cela fonctionnerait sur tous les hôtes compatibles SSH

Gert
la source
2

Pour faire des sauvegardes, j'utilise souvent rsync. Si je veux sauvegarder sur une machine distante, je mettrai une ligne dans / etc / fstab pour garder la machine distante montée par NFS ou CFIS (Samba).

192.168.0.101:/ /mnt/backup nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

Ensuite, ayez une ligne dans mon crontab en utilisant rsync.

rsync -av /home/user/sourcedir/ /mnt/backup/destinationdir > /home/user/backup.log
jjclarkson
la source
1

netcat est simple mais toutes les versions ne ferment pas la connexion de manière fiable.

Voici le fil sur l'utilisation de socat: transfert de fichiers fiable socat sur TCP

Résumer:

Proposé :

Fichier d'envoi du serveur:

server$ socat -u FILE:test.dat TCP-LISTEN:9876,reuseaddr
client$ socat -u TCP:127.0.0.1:9876 OPEN:out.dat,creat

Serveur recevant le fichier:

server$ socat -u TCP-LISTEN:9876,reuseaddr OPEN:out.txt,creat && cat out.txt
client$ socat -u FILE:test.txt TCP:127.0.0.1:9876

Améliorations proposées :

  • OPEN:out.txt,creat,truncsupprimera tous les octets out.txtavant d'écrire dessus. Cette option imite ce que vous attendez de cp, et c'est probablement ce que vous voulez.
  • OPEN:out.txt,creat,exclrefusera d'écrire out.txts'il existe déjà. Utilisez cette option pour plus de sécurité.
  • OPEN:out.txt,creat,appendajoutera des données à out.txt.
Grzegorz Wierzowiecki
la source
1

Giver est une application de bureau de partage de fichiers simple. Les autres personnes exécutant Giver sur votre réseau sont automatiquement découvertes et vous pouvez leur envoyer des fichiers en faisant simplement glisser les fichiers sur leur photo ou icône affichée dans Giver.

Dans Ubuntu:

sudo apt-get install giver
Gasuma
la source
0

Vous pouvez également utiliser le programme Giver . En l'utilisant, vous pouvez transférer des fichiers sur LAN en 2 clics ou par "glisser-déposer" vers le destinataire. Les destinataires (qui doivent également s'exécuter giver) sont découverts via Zeroconf, vous n'avez donc pas besoin de connaître même leur adresse IP. Voici une vidéo sur le fonctionnement de Giver .

Andrei Dziahel
la source
2
En tant que personne qui a travaillé sur Giver dans le passé, je peux dire que c'est une application soignée, mais elle est totalement non entretenue et contient de nombreux bugs, en particulier en ce qui concerne le transfert de gros fichiers. N'en attendez pas grand-chose.
Sandy
@ Sandy oui, je suis au courant des bugs. Dans mon cas, les fichiers 1.4G ont été transférés avec succès. Quoi qu'il en soit, l'utilisation de Giver semble toujours beaucoup plus facile que NFS / rsync / nc / peu importe.
Andrei Dziahel
0

Si vous n'avez pas de compte (mot de passe) sur l'hôte destinataire, vous pouvez utiliser woos (offre Web un flux):

fichier-ou-répertoire woos ...

http://fex.belwue.de/fstools/woos.html

Framstag
la source