最近开发一套系统,为了安全考虑需要定时备份数据库和文件,前面已经实现本地定时备份数据库和文件,现在记录一下如何实现异地服务器备份。我这里是使用SSH进行备份,所以需要在待备份服务上面安装openssh-server,主服务器上面需要安装openssh-clients。具体操作步骤如下,我这里Liunx使用的是centos7,如果使用的是其它系统的可以将yum改为apt-get即可

1. 待备份服务器安装openssh-server,安装命令如下,如果系统没有安装openssh,下面的命令会进行安装操作

sudo yum install openssh-server  # 安装openssh-server

在安装过程中,我遇到了一个问题,就是安装的时候提示 No package openssh-server available 意思就是找不到包,这个问题产生的原因,一般是因为yum的源有问题,可以通过更新yum的方法来解决,代码如下:

cd /etc/yum.repos.d/  # 切换目录到yum的源目录
mv CentOS-Base.repo CentOS-Base.repo.back # 备份yum源文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo # 从阿里云的源下载yum源,如果wget命令无效,你可能需要使用下面的命令安装一下wget
yum install -y wget # 安装wget,如果系统已经有了,就不需要执行这个命令了
yum clean all # 清除yum源的缓存
yum makecache # 重新建立缓存

  如果不确认是否已安装openssh-server,可以使用下面的命令查询

rpm -qa|grep openssh #此命令可以显示是否安装了openssh相关的服务

如图所示,服务器已安装了openssh-server服务了,安装成功后可以使用下面的命令启动服务

sudo systemctl start sshd.service  # 启动服务,不同版本的centos可能命令会所有区别,如果systemctl命令不行,可以使用 sudo service sshd start

sudo systemctl enable sshd.service # 将服务设置为自动启动,同上,如果systemctl命令不行,可以使用sudo service sshd enable

2. 在主服务器上面安装openssh-client,安装操作与openssh-server的操作差不多,下面是安装命令

sudo yum install openssh-client

3.安装完后使用SSH就可以进行登录了,但是这个时候还只能使用用户名密码登录,文件备份显然是不方便的,所以要进行免密登录,步骤如下:

  1). 在待备份的服务器上面生成密钥,命令如下:  

ssh-keygen -t rsa  # 使用rsa加密方法生成密钥,生成过程中需要确认操作,直接回车确认即可。

  2). 密钥生成后,一般会的/root/.ssh/目录下面生成 id_rsa (私钥),id_rsa.pub (公钥)等文件,使用下面的命令将公钥文件复制到客户机上,输入命令后需要输入服务器对应用户名的密码才可以生效,ssh-copy-id命令是专门用户将公钥文件复制到远程主机上的

ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.19.22 # 复制公钥文件到172.16.19.22服务器上面,并且以root用户名登录,其中-i 的参数是指定公钥文件

  使用上面的命令,公钥文件就会被写入到目标服务器上面的/ssh/目录下面的,其中~表示,当前用户目录,如果是非root用户则目录为/home/username/,否则就是/root

  3). 密钥复制成功就可以使用免密码登录了,可以使用下面的命令登录

ssh root@192.168.1.1 

4. 使用rsynct复制将备份文件夹复制到目标服务器

rsync -avp -e ssh /backup/ root@172.168.1.1:/backup # 使用SSH免密登录,将本地的backup文件夹复制到目标服务器的backup -a 归档拷贝 -v 显示复制过程 -p增量复制已存在的文件不再复制

5. 将自动备份命令写入corntab服务内

crontab -e # 编辑

00 01 * * * rsync -avz -e ssh /backup  root@172.16.19.1:/backup  # 每天1点钟开始异地备份

liunx服务器通过ssh实现异地备份的更多相关文章

  1. SQL SERVER怎样将某个服务器上面的数据自动备份到另一台服务器上面(异地备份)

    一:试验背景 异地备份好处:(待补充) 1:异地备份了把原有服务器数据放在另外一个位置,避免些物理损害.  比把数据刻录光盘和原始数据放同房间了房间失火了备份数据也没有了要放另外地方避免了  就是备份 ...

  2. liunx文件定期本地备份、异地备份、删除备份脚本

    导航 一.背景二.依赖功能介绍三.本地备份脚本四.异地备份脚本五.定期删除备份六.github脚本地址 - - - - - - - - - - 分割线 - - - - - - - - - - 一.背景 ...

  3. gitlab异地备份并验证MD5值

    最近公司发生了蛮多事情的,唉,咱也不管问啊,好好干活吧 需求 把gitlab的备份文件异地备份一份,备份无论失败还是成功通知某邮箱 实现思路 先rsync文件过去,判断rsync这个步骤有没有成功,失 ...

  4. sql server异地备份数据库

    --注意:异地备份数据库,需要先开启备份文件夹的网络共享,数据库选择master --打开允许执行xp_cmdshell exec master..xp_cmdshell 'net use \\192 ...

  5. Linux多台服务器间SSH免密码登录配置

    SSH实现各个服务器间的文件相互备份,如运行scp命令,可以实现免密码登录,从而可以使用SHELL脚本实现一些自动化的处理. 假如A机要免密码登录B机,具体方法如下: 1.在A机运行:"ss ...

  6. (办公)记事本_通过xshell连接Liunx服务器

    任务:需要用xshell连接到Liunx服务器,装配环境,放置项目,查看日志,以后就要做,磁盘扩容,均衡负载,以及病毒错误. 第一步,先连接上: 1.xshell新建会话,刚才买的liunx的公网地址 ...

  7. shell脚本实现MySQL全量备份+异地备份

    一.知识储备工作: Mysql导出数据库语法: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql shell脚本for循环及if条件判断基本语法 gzip压缩文件用法 r ...

  8. Linux下自动删除过期备份和自动异地备份

    每天自动删除过期备份 首先编写一个简单的Shell脚本DeleteExpireBackup.sh: #!/bin/bash # 修改需要删除的路径 location="/database/b ...

  9. 实践:腾讯云COS备份本地数据以及异地备份

    在当前大数据时代背景下,数据在业务中占有不可低估的地位,数据备份已然成为了最后一道屏障. 腾讯云对象存储COS,提供数据备份.共享.大数据处理.线上数据托管一站式解决方案,成为了不少企业和个人用户备份 ...

  10. 向 Git 服务器添加 SSH 公钥

    . . . . . 在网上很少找到文章有提到如何将自己的 Git 远程仓库配置成可以通过 SSH 公钥方式认证的,而几乎清一色都是告诉你怎么通过 web 界面向 GitHub 添加 SSH 公钥.LZ ...

随机推荐

  1. 电脑tips #持续更新ing

    记录日常get 1. Esc+ Fn 打开与锁住F1到F12功能键们 2. 没有找到支持的视频格式和MIME类型 场景:发生在网页嵌入的视频中 原因及解决:--网速不好,重新刷新解决 3. 问题描述: ...

  2. AtCoder Beginner Contest 369 补题记录

    A - 369 题意: 给定A和B,求有多少个x可以和A,B构成等差数列 思路: 分三种情况讨论 A == B 则x不得不与A和B想等 x位于A和B中间 只有B - A 为偶数才有这种情况存在 x位于 ...

  3. 记录一次maven依赖冲突的解决

    现象 项目依赖selenium-java的4.32版本,但是未发现org.openqa.selenium.devtools.DevTools类.如下所示: 问题排查 定位问题 第一反应肯定是依赖冲突了 ...

  4. Python实现ws订阅服务

    一.Python实现ws订阅服务 # 使用websocket订阅欧易公共频道中的 行情频道,以下是已知信息,写出Python代码 # 地址:"wss://wspap.okx.com:8443 ...

  5. CF1928G Vlad and Trouble at MIT

    CF1928G Vlad and Trouble at MIT Vlad and Trouble at MIT Problem MIT的学生宿舍可以用一棵有\(n\)个顶点的树来表示,每个顶点代表一个 ...

  6. 第七章: SEO与渲染方式

    第7章: SEO与渲染方式 在现代Web开发中,JavaScript扮演着越来越重要的角色.然而,JavaScript的广泛使用也为搜索引擎优化(SEO)带来了新的挑战.本章将深入探讨JavaScri ...

  7. 1-python中的两大法宝和加载数据

    python中的两大法宝和加载数据 1. Python两大法宝 ① Python3.6.3相当于一个package,package里面有不同的区域,不同的区域有不同的工具. ② Python语法有两大 ...

  8. 支付宝小程序IDE版本迭代异常

    前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app 现公司今年准备新开一 ...

  9. 16. MySQL 多版本并发控制

    16. MySQL 多版本并发控制 @ 目录 16. MySQL 多版本并发控制 1. 什么是MVCC 2. 快照读与当前读 2.1 快照读 2.2 当前读 3. 复习 3.1 再谈隔离级别 3.2 ...

  10. SQL Server 中的检查账号是否被锁定-用户登陆失败的原因与解决方案

    在使用 SQL Server 数据库时,用户可能会遇到"用户登陆失败"的问题.这种问题不仅会影响数据库的使用,也可能导致应用程序的中断.因此,了解这一问题的原因及其解决方案至关重要 ...