2017-04-18 100 views
0

我有一個目錄說一個Windows機器下的BuildArea我有多個文件夾說lib,應用程序等 當我們建立java文件..各自的jar文件放置在應用程序文件夾中的lib文件夾和war/ear文件中。從windows目錄和scp到最新的文件從linux服務器

我想將這些文件的scp自動化到linux服務器上。 我在這裏面臨的挑戰是拿起最新的內置jar/ear/war文件,因爲相應的文件夾有許多其他這樣的文件。

例如:lib將有a.jar,b.jar等等。比方說,我只是建立最新版本a.jar文件的話,我需要拿起僅此最新a.jar文件

我最初以爲的下面:

步驟1) 創建一個腳本,將接受參數從輸入文本文件,該文件將具有最近構建的工件名稱的列表,並且該腳本將把這些文件複製到單獨的目錄中。 (比如ReleaseArea)

步驟2) 另一個腳本,用於將使用上述腳本複製到ReleaseArea文件夾中的文件掃描到Linux服務器上。

但是,這涉及到人工干預,並希望有一個更有效的方法。

建議/最佳實踐始終歡迎。

感謝和問候,

羅漢

回答

0

也許你能有這樣的發現使用find命令這樣新生成的文件(如60分鐘前例如)的腳本:

find /BuildArea -mmin 60 -exec scp {} @server:/destination/path \; 

但是,如果你想從linux主機使用scp我假設你在Windows主機上有一個ssh服務器,所以你可以使用ssh來遠程執行最後一個命令,然後把腳本放到每小時運行一次的cron作業中。

相關問題