Est-il possible de télécharger des fichiers extrêmement volumineux intelligemment ou en partie via SSH de Linux à Windows?

4

J'ai un fichier d'environ 35 Go sur un serveur Linux distant Ubuntu. J'exécute Windows XP localement. Je me connecte donc au serveur Linux distant à l'aide de SSH (plus précisément, j'utilise un programme Windows appelé Client SSH Secure Shell version 3.3.2).

Bien que ma connexion Internet à large bande soit assez bonne, le téléchargement du fichier volumineux échoue souvent Connection Lost Message d'erreur. Je ne suis pas sûr, mais je pense que cela échoue, car ma connexion Internet est interrompue une ou deux secondes toutes les plusieurs heures. Étant donné que le fichier est volumineux, le téléchargement peut prendre entre 4,5 et 5 heures et peut-être la connexion Internet s'éteint-elle pendant une seconde ou deux au cours de cette longue période. Je pense que c'est parce que j'ai téléchargé avec succès des fichiers de cette taille en utilisant la même connexion Internet et le même logiciel SSH sur le même ordinateur. En d'autres termes, j'ai parfois de la chance et le téléchargement se termine avant que la connexion Internet ne soit interrompue une seconde.

Est-il possible de télécharger le fichier de manière intelligente - le système d'exploitation ou le logiciel "sachant" où il s'est arrêté et peut reprendre à partir du dernier point en cas de rupture de la connexion Internet?

Peut-être est-il possible de télécharger le fichier par sections? Bien que je ne sache pas si je peux facilement scinder mon fichier en plusieurs fichiers, je pense que cela serait très difficile, car le fichier est binaire et n'est pas lisible par l'homme.

À l'heure actuelle, si le téléchargement de fichier d'environ 35 Go ne se termine pas avant la coupure de la connexion, je dois recommencer le téléchargement et écraser le bloc d'environ 5 à 20 Go téléchargé jusqu'à présent localement.

Avez-vous des conseils? Merci.

Andrew
la source
3
Je pense que rsync sur ssh peut le faire.
Keith
@ Keith Merci. Quel est rsync? Est-ce qu'il fonctionne sous Windows?
Andrew
1
@ Andrew: Rsync est un programme pour les transferts de fichiers incrémentiels (synchronisation, sauvegarde, etc.), et vous pouvez trouver une liste de certaines implémentations de Windows ici ou par googler .
darvids0n

Réponses:

2

Ma solution «appropriée» serait de trouver et de résoudre les causes du problème, mais ces solutions peuvent constituer des solutions de contournement:

  1. use split (man split - divise un fichier en morceaux). Il semble être installé sur la plupart des systèmes Unix.
  2. Fractionner le fichier via dd (dd if = inputfilename of = fichier_part0 skip = 0 bs = 500 Mo). (répétez avec skip = 1 et un nom de fichier différent.)
  3. Utilisez un programme qui peut reprendre le téléchargement. FTP fonctionnerait (mais eww. Mots de passe en texte clair, contrôle séparé et connexion de données qui ne fonctionnent pas bien avec la plupart des pare-feu)
  4. Trichez et déplacez le fichier dans un répertoire Web. La plupart des navigateurs acceptent de reprendre un téléchargement,
Hennes
la source
2

le protocole bittorrent gérerait bien cette tâche, même s’il n’est peut-être pas le plus facile à mettre en place.

Steven Lu
la source
1

Vous pourriez Divisé le fichier en morceaux plus petits, puis réassemblez-les à l’autre bout. Sinon, si vous avez un démon FTP ou HTTP en cours d'exécution, vous devriez pouvoir exécuter le téléchargement via le démon, qui prennent généralement en charge la reprise du téléchargement.

Andrew Lambert
la source
Vous avez tapé un peu plus vite, mais nous semblons être d’accord sur les solutions. :)
Hennes
1

j'ai utilisé rsync --partial sur Cygwin sous Windows. Ça marche très bien.

Andrew
la source