把多台服务器日志文件备份到一台服务器上的过程

A:59.151.12.13 B:59.151.12.18 C:59.151.12.52 D:59.151.12.60  >> E:59.151.12.46


E:(第一步)ssh-keygen 输入这个命令

 三次回车 

cd .ssh/ 

ll 查看有两个目录

。。。。。。 id_rsa        私钥

。。。。。。 id_rsa.pub    公钥



(第二部)分别在ABCD上

cd .ssh/

touch authorized_keys

chmod 600 authorized_keys


(第三部)

把E上的id_rsa.pub里面的公钥复制到ABCD里的.ssh/authorized_keys中

(第四部)在E上分别用命令 ssh -pN 用户名@(ABCD) 登录   无需密码登录就是成功了!


注意事项:N:表示SSH的具体端口号,公司已经设置好的。如果各个服务器的用户名都一样,用户名可以省略。一定注意登录成功后一定要退出后在登录别的服务器!


(第四部)查看各个服务器的日志信息



A:/a8root/logs/nginx/fensi.duomi.com.log.20160323

B:/a8root/logs/nginx/fensi.duomi.com.log.20160323

C:/a8root/logs/nginx/fensi.duomi.com.log.20160323

D:/a8root/logs/nginx/fensi.duomi.com.log.20160323

E:/a8root/nas_bak/iloveoops/fensilog/?(四台服务器的日志都存在E服务器里的这个目录,《《并且标记服务器和时间》》)


在E:/a8root/nas_bak/iloveoops/fensilog/目录下touch rizhi.sh 

chmod u+x rizhi.sh

vim rizhi.sh

#! /bin/bash

a=59.151.12.13

b=59.151.12.18

c=59.151.12.52

d=59.151.12.60

f=`date +%Y%m%d --date="-1 day"`

for e in $a $b $c $d

do

scp -P 2222 $e:/a8root/logs/nginx/fensi.duomi.com.log.$f /a8root/nas_bak/iloveoops/fensilog/$e.fensi.duomi.com.log.$f

done

  


crontab -e 

33 15 * * * /a8root/nas_bak/iloveoops/fensilog/rizhibeifenjiaoben.sh



(可以:sh -x rizhi.sh查看是否成功 也可以跟踪cron的日志信息:tail -f /var/log/cron 查看是否成功)










创建一个脚本,实现rsync的同步 (命令:rsync -av -e "ssh -p2222"  59.151.12.13:/a8root/logs/nginx/fensi.duomi.com.log.20160318 /a8root/nas_bak/iloveoops/fensilog/fensi.duomi.com.log.20160318) 

cat 1.sh


#! /bin/bash

a=59.151.12.13

b=59.151.12.18

c=59.151.12.52

d=59.151.12.60

f=`date +%Y%m%d --date="-1 day"`

for e in $a $b $c $d

do

rsync -ave "ssh -p2222"  $e:/a8root/logs/nginx/fensi.duomi.com.log.$f /a8root/nas_bak/iloveoops/fensilog/$e.fensi.duomi.com.log.$f

done


crontab -e

1 2 * * * 脚本的位置/1.sh