我在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服务器上的脚本。
然而,这涉及人工干预,并希望采用更有效的方式。
建议/最佳做法随时欢迎。
谢谢和问候,
罗汉
答案 0 :(得分:0)
也许您可以使用这样的find命令创建一个查找新生成文件的脚本(例如60分钟前):
find /BuildArea -mmin 60 -exec scp {} @server:/destination/path \;
但是如果你想从linux主机使用scp,我假设你在Windows主机上有一个ssh服务器,所以你可以使用ssh远程执行最后一个命令,然后将脚本放在一个cron作业中,这个作业每小时运行一次。