Я недавно начал работать с сервером Linux, я очень новый. Моя программа CUDA/C++ решает двумерное дифференциальное уравнение и записывает выходные данные, скажем, каждые 1000 временных шагов. Это происходит примерно каждую минуту.

Можно ли автоматически загружать файлы на мой компьютер после их создания на сервере Linux или сохранять их непосредственно на моем компьютере?

Это значительно ускорило бы мою работу, поскольку теперь мне нужно ждать, пока моя программа завершит все вычисления, а затем загрузить ее вручную. Я также обычно использую 6 GPUS одновременно, они производят вывод в разных указанных папках на сервере LINUX (скажем, в папках 0 , 1 , 2 , 3 , 4 , 5).

2 ответа2

1

Вы можете запустить простой сервер на компьютере Linux, который обслуживает сгенерированные файлы, например, перейдите в нужный каталог cd и запустите:

python -m SimpleHTTPServer

Затем на домашнем ПК вы можете использовать wget для периодической загрузки нового материала (что достигается с помощью -N):

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

Если вы работаете в Windows дома, вы можете получить Wget для Windows и написать выше, как BAT скрипт, или использовать другой загрузчик, который выполняет такое зеркалирование изначально.

1

Да, вы можете использовать команду inotify-wait, которая является частью пакета inotify-tools . Создайте файл, называемый, например, my_monitor, с содержимым

#!/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 контролирует каталог или файл (и, если вы добавите флаг -r, он будет рекурсивно отслеживать все дерево каталогов) на предмет изменений. Я выбрал несколько типичных изменений, за которыми вы можете наблюдать, и вы можете найти исчерпывающий список здесь ; inotify-wait завершается, как только происходит одно событие из приведенного выше списка, и команда выше выполняет некоторый сценарий bash (который вы должны написать), который скопирует необходимые вам файлы на другой компьютер. Как только передача файла завершится, цикл начнется снова.

Вы можете запустить скрипт выше с

nohup /path/to/my_monitor

Это означает, что, даже если вы выйдете из этого компьютера, скрипт не перестанет работать: в основном он будет работать вечно (т.е. до перезагрузки).

Это все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .