Mac终端不可以使用szrz咋办?

最近一直在Mac上写公司代码,有时候需要在服务器上去拉取报文(一些xml文件),一直坚持着能少装软件就少装软件,所以就用Mac自带的终端咯,然后自己写了一个脚本用于从服务器上去拉取文件

集群的服务器上如何集中报文

需要使用rsync命令,直接上脚本了:

#!/bin/sh

if [ $# -lt 2 ];then
echo '[Usage]: tools/collect_pkts.sh $company $session_id'
echo 'e.g.: tools/collect_pkts.sh tianan b3e11ccae69643df8630faabb2cc40c0'
exit
fi

basedir=/app/web/car_ins_server/pkts
SESSION_ID=$2
COMPANY=$1

if [ ! -d "$basedir/$COMPANY" ]; then
  mkdir $basedir/$COMPANY   
fi

#echo "company:$COMPANY, session_id:$SESSION_ID"

for host in `cat /app/web/car_ins_server/tools/tomcat_servers`; do
    rsync -avz $host:/app/web/car_ins_server/pkts/$COMPANY/*$SESSION_ID* $basedir/$COMPANY/ 2> /dev/null
done
cd $basedir
tar -czf $COMPANY.tar.gz $COMPANY
rm -rf $COMPANY

脚本的作用:采用遍历的方式搜寻每台服务器上指定文件夹下的 文件名包含 $SESSION_ID的文件,找到之后把它同步到中心服务器,然后打压成一个gz包

本地与服务器上文件同步

#!/bin/bash
if [ $# -lt 2 ];then
echo '[Usage]: ./get_pkts.sh $company $session_id'
echo 'e.g.: ./get_pkts.sh tian b3e11ccae69643df8630faabb2cc40c0'
exit
fi

pktsdir=~/Documents/work/pkts/

if [ ! -d "$pktsdir"]; then 
   mkdir "$pktsdir" 
fi 

echo "start collecting......"

SESSION_ID=$2
COMPANY=$1

echo "### company:$COMPANY, session_id:$SESSION_ID ###"

ssh -t web@121.41.109.204 "/app/web/car_ins_server/tools/collect_pkts.sh $COMPANY $SESSION_ID"

scp web@121.41.109.204:/app/web/car_ins_server/pkts/$COMPANY.tar.gz ~/Documents/work/pkts/

ssh -t web@121.41.109.204 "rm -f /app/web/car_ins_server/pkts/$COMPANY.tar.gz"


echo "end collecting......"
cd ~/Documents/work/pkts/
tar -zvxf $COMPANY.tar.gz
#rm -f $COMPANY.tar.gz

脚本作用:通过ssh去执行远端服务器上的脚本,然后通过scp命令把上一步中得到的gz包复制到本地,再解压。

注意

我的Mac的公钥已经加到服务器的公钥库了,否则上面脚本的ssh命令是无法连接到服务器的.

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,169评论 19 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,685评论 9 468
  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 3,487评论 0 20
  • 1.Linux下如何用命令查看实时日志(完整命令) tail -f 路径.log查看前多少行 tai-200f 路...
    qianyewhy阅读 2,346评论 0 11
  • 今天休息,在家做了一天全职奶爸!真的不轻松!孩子的心情,真的和六月的天差不多!饭他们的世界应该很简单,想笑便笑,想...
    FlyMrBai阅读 193评论 0 0