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.

  • Download Manager pour Mac OS X?
  • Quels outils peuvent être utilisés pour télécharger toutes les images dans une page Web?
  • L'erreur "Fichier source n'a pas pu être lue" lors du téléchargement d'un fichier avec Firefox
  • Pour le transfert de fichiers, ftp fonctionne-t-il mieux que http?
  • Télécharger le fichier arbitraire avec Google Chrome
  • Obtenir Chrome pour ouvrir des fichiers "texte" dans un onglet
  • Reprise du téléchargement des fichiers Chrome après avoir éteint le PC
  • Téléchargez tous les liens PDF dans une page Web?
  • Comment télécharger la liste des fichiers à partir d'un serveur de fichiers?
  • Comment sauvegarder des images de Firefox sans ré-téléchargement
  • Comment puis-je télécharger un forum phpbb plein (actif)?
  • Soyons le génie de l'ordinateur et du réseau.