免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1199 | 回复: 4
打印 上一主题 下一主题

[服务应用] 在处理机B上运行脚本将服务器A上的日志不落地压缩传送到ftp服务器C的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-15 20:37 |只看该作者 |倒序浏览
各位大哥,小弟欲在处理机B上运行如下脚本sava_log.sh,将服务器(A)192.168.10.24上的日志,不落地压缩传送到ftp服务器(C)10.2.100.17上。

现在卡壳在指令“put `eval $command2`”上了。貌似ftp平台上不能直接调用shell的执行语句呢?

我知道若直接在服务器A上执行脚本可以绕过这个问题,只是因为有网络隔离方面的访问权限障碍,我还是希望能在处理机B上来执行该任务,特请教论坛高手:不知道有没有什么技巧,使这个任务成为可能?

拜谢!

[root@localhost ~]#cat save_log.sh

#!/bin/sh




tt=`date +%Y%m%d`

ftp_server="10.2.100.17"

ftp_user="savelog password"

command2="ssh 192.168.10.24 'cd /java/nginx/logs;tar -zcvf - cut_log.sh' | cat - >cut_log.sh.tar.gz"




ftp -in<<EOF

open $ftp_server

user $ftp_user

binary

cd log24

lcd /tmp

prompt

put `eval $command2`
close

bye

EOF

论坛徽章:
0
2 [报告]
发表于 2014-08-16 20:03 来自手机 |只看该作者
ftp...为什么还要用ftp这种不安全的明文传输,我建议你在a服务器上架设rsync server

论坛徽章:
0
3 [报告]
发表于 2014-08-18 14:38 |只看该作者
多谢楼上指点,下次研究一下rsync。ftp是公司资源,内网有安全控制的。

ftp是交互式工作方式,原思路实现不了。现在想到解决办法了,利用本地的tmpfs文件系统,先把远端日志压缩传到本地tmpfs,再put去ftp,最后删掉tmpfs中的临时文件。反正tmpfs是用的ram资源,不写磁盘,还够快!

论坛徽章:
62
洛杉矶湖人
日期:2015-02-10 09:56:11黑曼巴
日期:2016-06-28 17:41:282015-2016NBA季后赛纪念章
日期:2016-06-28 17:41:282016猴年福章徽章
日期:2016-02-18 15:30:34圣安东尼奥马刺
日期:2015-05-04 22:46:00菠菜神灯
日期:2015-05-04 22:35:07新奥尔良黄蜂
日期:2015-03-17 13:54:52明尼苏达森林狼
日期:2015-03-16 21:51:15萨克拉门托国王
日期:2015-03-02 16:10:58华盛顿奇才
日期:2015-03-02 16:10:58迈阿密热火
日期:2015-03-02 16:10:582016科比退役纪念章
日期:2016-06-28 17:41:28
4 [报告]
发表于 2014-08-19 19:59 |只看该作者
看看               

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
5 [报告]
发表于 2014-08-19 21:02 |只看该作者
本帖最后由 phanx 于 2014-08-19 21:17 编辑

回复 1# tamter


    可以考试使用SSH来代替FTP。    如果B到A和C都配置好了SSH RSA Key认证,那么就不用输入密码了。

在B机器上运行
  1. ssh A "cd /java/nginx/logs; tar cf - dir" | ssh C "cd destdir; tar xf -"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP