美文网首页
本地获取多台远程linux服务器日志进行备份

本地获取多台远程linux服务器日志进行备份

作者: 小和尚88 | 来源:发表于2018-03-27 09:50 被阅读0次

需求:

后端应用服务部署在十几台阿里云linux服务器, 需要定时把这些应用的日志备份都某一台服务器进行保存备份(最近180天)


#!/bin/bash

ip_arry=("192.168.1.1" "192.168.1.2")

remote_dir="/opt/logs/"

bakDir=""

for ip in ${ip_arry[@]}

do

    echo $ip

    folderList=`sudo sshpass -p passwd ssh -o StrictHostKeychecking=no $ip find $remote_dir -type d -ctime -180`

    #echo $folderList

    fileList=`sudo sshpass -p passwd ssh -o StrictHostKeychecking=no $ip find $remote_dir -type f -ctime -180`

    echo $fileList

    for folder in $folderList;do #循环判断folder是否存在 不存在就创建

        if [ ! -d $folder ];then

                  mkdir -p $folder

        fi;

done;

    for file in $fileList;do #循环判断文件是否存在 不存在就从机器上考过来

          if [ ! -f $file ];then

sudo sshpass -p kgcx@123 scp -o StrictHostKeychecking=no root@$ip:$file ${file}"_"${ip}".log.gz"

          fi;

done;

done


踩过的坑:

1. 第一次远程连接会有交互式操作,采取-o StrictHostKeychecking=no参数跳过

2. 安装sshpass使用sudo sshpass -p passwd避免交互式输入密码

3. 因为后端应用采用分布式部署, 故在文件名上加上ip命名,否则会漏掉部分日志.

相关文章

  • 本地获取多台远程linux服务器日志进行备份

    需求: 后端应用服务部署在十几台阿里云linux服务器, 需要定时把这些应用的日志备份都某一台服务器进行保存备份(...

  • Linux下scp无密码上传 下载 文件 目录

    在Linux下远程备份的时候,需要配置scp的 无密码复制文件、目录。就把这个设置整理如下: 本地服务器:A远程服...

  • Git之从远程仓库更新代码到本地

    多台电脑上进行开发的时候需要用github进行同步 查看远程分支 从远程获取最新版本到本地 比较本地仓库与下载的t...

  • rsync 使用

    rsync 支持本地和跨服务器的备份工具 安装 本地备份 远程备份 除了备份还可以拉取文件 --delete 参数...

  • Rsync全网备份项目

    目标 把每台重要的数据、配置及脚本备份到本地、远程存储。 本地数据保留7天备份数据 本地备份文件推送到备份服务器上...

  • rsync

    一、作用:文件同步和快速传输工具,可实现文件快速备份(本地备份或将本地数据备份到远程服务器),rsync首次是同步...

  • 运维 | SSH免密登录服务器

    前言 搞了台Linux服务器,想要本地与服务器进行远程连接?想要服务器与服务器之间节点互通?我们可以通过SSH来解...

  • 实现Shell脚本自动备份Gitlab档案并同步到远程

    实现脚本自动备份Gitlab档案并同步到远程 参考:Gitlab的备份与恢复 Gitlab服务器与备份服务器进行密...

  • mysql 连接远程数据库

    cmd 连接远程Windows服务器上的MySQL cmd 连接本地MySQL shell 连接远程linux服务...

  • 服务器备份

    oracle 本地备份 将本地备份文件备份到远程(局域网): mongodb用了另一种备份思路,直接远程备份数据库...

网友评论

      本文标题:本地获取多台远程linux服务器日志进行备份

      本文链接:https://www.haomeiwen.com/subject/zkdjcftx.html