Télécharger le fichier depuis le serveur linux une fois qu'il est créé

J'ai récemment commencé à travailler avec le serveur Linux, je suis très nouveau. Mon programme CUDA / C ++ résout l'équation différentielle 2D et enregistre chaque sortie, par exemple, 1000 étapes de temps. Il se produit à peu près toutes les minutes.

Est-il possible de télécharger automatiquement des fichiers sur mon PC une fois qu'ils sont générés sur le serveur Linux ou les enregistrer directement sur mon PC?

Cela accélérerait considérablement mon travail depuis maintenant, je dois attendre que mon programme termine tous les calculs, puis téléchargez-le manuellement. J'utilise également 6 GPUS en même temps, ils produisent des sorties dans différents dossiers spécifiés sur le serveur LINUX (par exemple, les dossiers 0 , 1 , 2 , 3 , 4 , 5 ).

2 Solutions collect form web for “Télécharger le fichier depuis le serveur linux une fois qu'il est créé”

Oui, vous pouvez utiliser inotify-wait une commande qui fait partie du package inotify-tools . Créez un fichier, appelé par exemple my_monitor , avec du contenu

 #!/bin/bash while true # will loop forever! do inotify-wait -r -e modify,attrib,close_write,move,create,delete /path/to/dir/or/file/to/monitor && /path/to/script done 

Inotify-wait surveille un répertoire ou un fichier (et, si vous ajoutez le drapeau -r , il surveillera l'arborescence complète du répertoire de manière récursive) pour les modifications. J'ai sélectionné quelques changements typiques à surveiller, et vous pouvez trouver une liste exhaustive ici ; Inotify-wait se termine dès qu'un événement dans la liste ci-dessus se produit, et la commande ci-dessus exécute un script bash (que vous devez écrire) qui copiera les fichiers dont vous avez besoin sur votre autre machine. Dès que le transfert de fichier est terminé, le cycle recommence.

Vous pouvez commencer le script ci-dessus avec

 nohup /path/to/my_monitor 

Ce qui signifie que, même si vous vous déconnectez de ce PC, le script n'arrêtera pas de fonctionner: fondamentalement, il fonctionnera pour toujours ( c. -à- d . Jusqu'à redémarrer).

C'est tout.

Vous pouvez exécuter un serveur simple sur la machine Linux qui sert les fichiers générés, par exemple cd dans le répertoire souhaité et exécutez:

 python -m SimpleHTTPServer 

Ensuite, sur le PC à la maison, vous pouvez utiliser wget pour télécharger périodiquement les nouvelles fonctionnalités (comme cela a été réalisé avec -N ):

 while true; do wget -rN http://server/ sleep 60 done 

Si vous utilisez Windows à la maison, vous pouvez obtenir Wget pour Windows et écrire ce qui précède comme un script BAT , ou utiliser un autre téléchargement qui fait ce type de mise en miroir de manière native.

  • Comment puis-je connaître la taille du fichier téléchargé avant de le télécharger?
  • Télécharger le fichier vidéo Flash à partir de n'importe quel site vidéo?
  • Que se passe-t-il lorsqu'un téléchargement de fichier est annulé?
  • Puis-je envoyer des fichiers sur mon PC depuis le Web sans devoir les télécharger?
  • Comment limiter le trafic de téléchargement dans Firefox
  • Besoin de télécharger beaucoup de fichiers, quel est le gestionnaire de téléchargement le plus léger?
  • Enregistrez une seule page Web (avec des images en arrière-plan) avec Wget
  • Comment puis-je limiter la taille de la source Android que j'ai besoin de télécharger avec "repo sync"?
  • Vidéo YouTube Arrêts
  • Problème avec IE 9 Download Manager
  • Pourquoi le gestionnaire de téléchargement bitsadmin.exe ne fonctionne-t-il pas pour moi?
  • Soyons le génie de l'ordinateur et du réseau.