2016-12-02 60 views
0

我最近開始使用Linux服務器,我很新。我的CUDA/C++程序解決了二維微分方程,並且每1000個時間步就寫下輸出。它大致每分鐘發生一次。在Linux服務器上生成文件後,是否可以自動將文件下載到我的電腦,或將它們直接保存到我的電腦中?這將顯着加速我的工作,因爲現在我必須等待我的程序完成所有計算,然後手動下載它。我通常也使用6 GPUS在同一時間,他們生產的Linux服務器上不同的指定文件夾的輸出(比如,文件夾012345從linux服務器下載文件一旦創建

+0

這個問題將是一個更適合[超級用戶](https://superuser.com ),因爲從用戶的角度來看管理設施存在重疊。 – t0mm13b

回答

1

可以使用的inotify

在Debian或者ubuntu安裝軟件包:

的apt-get安裝inotify工具

創建兩個腳本,首先在目錄讀取新的文件,第二個用於複製文件到您的計算機

inotifywait_script.sh

#!/bin/bash 

# Path to check : 
DIR="./files" 

while NEW_FILE=$(inotifywait -r -e create --format %w%f $DIR) 
do 
    # Sctipt executed when new file is created : 
    ./script_cp.sh "$NEW_FILE" 
done 

使用inotifywait選項:

-e:偵聽特定事件(S)只(這裏只是創建事件)

-r:觀看所有任何目錄的子目錄作爲參數傳遞

- 格式:%w =>路徑%f =>文件

script_cp.sh

#!/bin/bash 

echo "Copy file $1" 
scp "$1" [email protected]:/path_to_save 

您可以使用scp,rsync的或其它系統來複制文件