如何将LINUX远程服务器的日志写入本地的文件里,求大神。。。。在线等

假设有12台服务器,主机名字依次为portal[01-12].ea.com. 你可以在本地可以用root账户不带密码的ssh登陆到这些机器上面。Account.http log 位于/var/log/httpd/http_access.log 请写一个脚本来收集HTTP LOGS 来自所有的服务器并写入本地的/tem/http_logs.

#!/bin/bash
for i in {01..12}
do
echo "=======HTTP LOG From Host Portal$i=========" >> /tem/http_logs
ssh root@portal$i.ea.com 'cat /var/log/httpd/http_access.log' >> /tem/http_logs
done

追问

有个小问题
ssh root@portal$i.ea.com 'cat /var/log/httpd/http_access.log' >> /tem/http_logs
done
这是写入本地的/tem/http_logs对吧, 那我要是写入远程的那个机器里的/tem/http_logs要怎么写?

追答

把ssh那行的后单引号放到最后

追问

ssh root@portal$i.ea.com cat /var/log/httpd/http_access.log >> '/tem/http_logs'
done
这样对么?

追答

ssh root@portal$i.ea.com 'cat /var/log/httpd/http_access.log >> /tem/http_logs'

追问

不好意思 我理解错误..
那我这句
ssh root@portal$i.ea.com cat /var/log/httpd/http_access.log >> '/tem/http_logs'
引号在最后面的 是什么意思?或者还是不能执行?

追答

能,跟开始一样,放在本地

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-17
scp 比较简单吧 自己动手吧追问

Scp root@portal[01-12].ea.com: /var/log/httpd/http_access.log/tem/http_logs.
那怎么写入呢?

相似回答