从Windows目录和scp到linux服务器获取最新文件

时间:2017-04-18 11:52:37

标签: java linux scripting automation scp

我在Windows机器上有一个目录说BuildArea,我有多个文件夹,比如lib,应用程序等。 当我们构建java文件时......相应的jar文件放在lib文件夹和war / ear文件的应用程序文件夹中。

我想将这些文件的scp自动化到linux服务器上。 我面临的挑战是拿起最新构建的jar / ear / war文件,因为相应的文件夹中有许多其他类似的文件。

例如:lib将包含a.jar,b.jar等。假设我只是构建最新版本的a.jar然后我只需要拿起这个最新的a.jar

我最初想到的是:

步骤1) 创建一个脚本,该脚本将接受来自输入文本文件的参数,该文件将包含最近构建的工件名称列表,此脚本将这些文件复制到单独的目录中。 (比如ReleaseArea)

第2步) 另一个使用上面的脚本将在ReleaseArea文件夹中复制的文件scp到linux服务器上的脚本。

然而,这涉及人工干预,并希望采用更有效的方式。

建议/最佳做法随时欢迎。

谢谢和问候,

罗汉

1 个答案:

答案 0 :(得分:0)

也许您可以使用这样的find命令创建一个查找新生成文件的脚本(例如60分钟前):

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

但是如果你想从linux主机使用scp,我假设你在Windows主机上有一个ssh服务器,所以你可以使用ssh远程执行最后一个命令,然后将脚本放在一个cron作业中,这个作业每小时运行一次。