通过跳板机复制文件到开发机

!/bin/bash

传递给脚本或函数的参数个数

当前脚本的文件名

if [ # -lt 2 ]; then echo "Usage:0 <file> <user@host:file>"
exit 1
fi

传递给脚本或函数的参数

src=1 echosrc

dest=2 echodest

basename 去掉文件名和目录命令

fname=basename $src
echo $fname

把文件传到跳板机

if [ -d 1 ];then scp -P 8989989 -rsrc sxx@0.0.0.0:/home/sxx/tmp/
echo "scp -r /home/sxx/tmp/fname huh@1.1.1.1:dest; rm -rf /home/sxx/tmp/*" > /Users/uoui/work/bin/cp_agent
elif [ -f 1 ];then scp -P 8989989src sxx@0.0.0.0:/home/sxx/tmp/

生成一个可以从跳板机拷贝文件到23.78,并从23.78拷贝到目标机的脚本

echo "scp /home/sxx/tmp/fname huh@1.1.1.1:dest; rm -rf /home/sxx/tmp/*" > /Users/uoui/work/bin/cp_agent
fi

将这个脚本拷贝到跳板机

scp -P 8989989 /Users/uoui/work/bin/cp_agent sxx@0.0.0.0:/home/sxx/tmp/
rm -f /Users/uoui/work/bin/cp_agent

在跳板机上执行拷贝脚本,结果是将源文件拷贝到目标机上

ssh -p 8989989 sxx@0.0.0.0 "sh /home/sxx/tmp/cp_agent; rm -rf /home/sxx/tmp/*"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容