Unix 如何ssh到某个目录,然后能够使用FIND命令查找某些文件并对其进行压缩

Unix 如何ssh到某个目录,然后能够使用FIND命令查找某些文件并对其进行压缩,unix,scripting,ksh,Unix,Scripting,Ksh,大家好,我不想去ksh。我试图做的是编写一个脚本,将一个(或多个)zip文件从本地目录scp到远程主机。然后将ssh脚本放到远程主机中,以压缩我刚刚用scp处理过的文件。有什么简单的方法可以做到这一点吗。我一直在尝试,但一旦我用ssh连接到远程主机,我的其余命令就不再像cd/file/directory那样运行,然后是gzip-d/files等等……NB:不要混淆“zip”和“gzip”,这是两种不同的动物 这应该起作用: cd <local_directory> # collect

大家好,我不想去ksh。我试图做的是编写一个脚本,将一个(或多个)zip文件从本地目录scp到远程主机。然后将ssh脚本放到远程主机中,以压缩我刚刚用scp处理过的文件。有什么简单的方法可以做到这一点吗。我一直在尝试,但一旦我用ssh连接到远程主机,我的其余命令就不再像cd/file/directory那样运行,然后是gzip-d/files等等……

NB:不要混淆“zip”和“gzip”,这是两种不同的动物

这应该起作用:

cd <local_directory>
# collect files names as $1 $2 ... $N
set -- *.gz   # or use your own filter like "dumps*.gz"
# put source file a tar archive  and send it as input to ssh
# then, on the other side, untar the file then decompress
tar cf - $* | ssh <user>@<remote_host> "cd <remote dir> && tar xf - && gunzip $*
cd
#将文件名收集为$1$2$N
设置--*.gz#或使用您自己的过滤器,如“dumps*.gz”
#将源文件放入tar存档,并将其作为输入发送到ssh
#然后,在另一端,卸载文件,然后解压缩
tar cf-$*|ssh@“cd和tar xf-&&gunzip$*

注意:使用“&&”代替“;防止在“cd”时执行“tar”命令“由于任何原因失败

的可能重复项会显示您使用的确切命令。在使用类似ssh的命令之前,我实际上已经解决了这个问题user@host在一条线路上,然后在下一条线路上使用gzip-d,在我通过ssh连接之后,它就不会爆炸了。因此,我所做的是将ssh和gzip命令放在同一行上,并且它工作正常