把多台服务器日志文件备份到一台服务器上的过程
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
转载于:https://blog.51cto.com/shunsheng/1785113