前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux服务器间数据搬运1 --- 论高效传输与删除操作(Centos6.x)

linux服务器间数据搬运1 --- 论高效传输与删除操作(Centos6.x)

作者头像
陈哈哈
发布2020-07-06 10:36:48
6790
发布2020-07-06 10:36:48
举报
文章被收录于专栏:MySQL入坑记

在前段时间工作中,我们在编写linux搬运脚本程序时遇到了瓶颈;脚本内容如下图

脚本设计方案:我通过linux的scp远程传输命令,将192.168.121.36机子中的文件传输到本机指定(/home/0912data/)路径下,然后用ssh远程操作192.168.121.36将其指定(/home/0912data/)路径下的文件删除;贴代码~

代码语言:javascript
复制
#!/bin/bash
while true
do

set time 30
ssh root@192.168.121.36 ls /home/0912data/ > ./zuxun36.files

while read file
do
    echo "-----------------------"
    /usr/bin/scp -r root@192.168.121.36:/home/0912data/* /home/0912data/
    echo "scp [$file] to [10.98.33.87] successful!!"
    /usr/bin/ssh root@192.168.121.36 rm -r /home/0912data/*
    echo "mv [$file] to /home/eversec-contentmonitor/0912data_bak/ successful!!"
    #func_scp_to_dev $remote_host $file
    #func_scp_to_mv  $remote_host $file

done < zuxun36.files

rm zuxun36.files
#sleep 5
done

问题:

  1. 搬运慢
  2. 有时候删除不掉

原因:原本使用的搬运(scp -r)程序原理是一个一个文件搬,效率低,并且删除用rm -rf命令 在文件数量大于一定上限时(实际项目操作中2000个txt文件就会删除失败,抛出list too much)会删除失败;SO,我们使用了半年的搬运程序是存在很大问题的,赶紧处理--->

升级后的程序:

引入了linux中的rsync同步命令,无论在搬运还是删除方面,都是相对最优的,一开始优化时我们使用了强制删除find . -name "*" -exec rm {} \; -print 方式;但是强制删除存在许多不安全因素,后来我们发现了一种效率更高的方法,原理类似于 echo “” xxx.txt ;没错,就是重定向!

如下图,删除公式的含义为:ssh远程10.92.8.98服务器,将/home/0912data/文件夹下的文件同步到/home/0912clear/文件夹下,然后重定向清空/home/0912clear/文件夹下的同步内容

rsync -a --delete /home/0912clear/ /home/0912data/

后来就有了图中简洁明了的.sh脚本(注意明确文件夹名后面的“/”),错误日志记录都不需要咯。

贴代码~

代码语言:javascript
复制
#!/bin/bash
/usr/bin/rsync root@192.168.2.164:/home/0912data/* /home/0912data/

/usr/bin/ssh root@192.168.101.40 rsync -a --delete /home/0912clear/ /home/0912data/

下一篇主要讲述我工作经(zao)历(yu)中遇到的服务器间免密功能搭建问题,以及对某些做传输限制的服务器,用expect做模拟用户输入密码的方式去完成搬运任务

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档