文档章节

远程rsync实时备份方案脚本

Andy-xu
 Andy-xu
发布于 2014/07/20 11:01
字数 717
阅读 122
收藏 4

准备环境:

首先,想要使用远程备份,必须要让远程主机信任你,让你能够使用ssh无验证登陆。

ssh无密码登陆原理:

  • 首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)

  • 然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥

  • 当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了

创建两个密钥哦

[root@node4 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d4:37:37:3b:7c:13:e8:15:77:f7:5c:88:b0:6b:f7:9e root@node4.example.com
The key's randomart image is:
+--[ RSA 2048]----+
|          .. . o=|
|         . .. o.B|
|        . o o.ooo|
|       .   o.+.o.|
|        S o ..+..|
|         . . . o.|
|              .  |
|             . . |
|              E  |
+-----------------+

1.先生成秘钥吧!

[root@node4 ~]# ssh-copy-id localhost

[root@node4 ~]# ssh-copy-id 192.168.0.25

[root@node4 ~]# scp ~/.ssh/* 192.168.0.25:~/.ssh/        其实让25主机能够无验证登陆node4主机就行

测试登陆:

[root@node4 ~]# ssh 192.168.0.25                                node4无验证登陆node1(25主机)
Last login: Sun Jul 20 03:20:14 2014 from 192.168.0.1
[root@node1 ~]# ssh 192.168.0.28                                node1(25)主机无验证登陆node4(28主机)
Last login: Sun Jul 20 06:00:26 2014 from 192.168.0.1
[root@node4 ~]# logout

2.本地备份主机编写备份脚本:

# vim rsync.sh
#!/bin/bash
remotedir=/home/backup                备份到远程主机的目录(必须存在哦)
basedir=/backup/                            本地需要备份的目录
host=192.168.0.28                            备份到远程主机
id=root                                                使用root身份(当然也可以使用普通用户身份,记得无验证哦)
rsync -av -e ssh $basedir ${id}@${host}:${remotedir}

#chmod 700 rsync.sh

#./rsync.sh
back.sh
mk.sh
rsync.sh
sent 2288 bytes  received 73 bytes  277.76 bytes/sec
total size is 2056  speedup is 0.87

看到这个你就可以确定备份成功了

远程主机查看一下:

[root@node4 backup]# ls
back.sh  mk.sh  rsync.sh  weekly

成功备份咯!!!!


现在,你可以放心的将此脚本应用在你的环境了,为了保障系统的实时备份,此时,可以将脚本加入crontab中

[root@node1 backup]# crontab -e

*/5 * * * * /backup/rsync.sh > /dev/null

ok,现在就会每5分钟进行一次远程备份了!




© 著作权归作者所有

共有 人打赏支持
Andy-xu
粉丝 112
博文 95
码字总数 179246
作品 0
大兴
运维
私信 提问
rsync远程同步的基本配置与使用

rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用...

L宝宝聊IT
2018/08/01
0
0
Rsync+inotify实现文件实时同步

数据备份、文件备份是运维、DBA等岗位最熟悉不过的话题,这里不介绍数据库的备份,简单介绍一下文件同步工具,这样的工具有很多,Windows环境下有Goodsync、FreeFileSync等,Linux下rsync、u...

tianya1993
2017/09/17
0
0
rsync远程同步

**----在远程同步任务中,负责发起rsync同步操作的客户机被称为发起端,而负责相应来自客户机的rsync同步操作的服务器成为同步源。----在同步过程中,同步源负责提供文档的原始位置,发起段应...

李佳良
2018/01/07
0
0
Rsync实现主服务器热备份

Rsync全称是remote synchronize,也就是远程同步工具。官网介绍,“rsync is an open source utility that provides fast incremental file transfer. (rsync是一款提供快速增量文件传输的开...

shiw019
2016/05/22
191
0
Linux服务器间文件实时同步的实现

使用场景 现有服务器A和服务器B,如果服务器A的指定目录(例如)中的内容发生变更(增删改和属性变更),实时将这些变更同步到服务器B的目标目录中(例如)。 数据镜像备份工具Rsync Rsync是...

开元中国2015
2018/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Git代码防丢指南

我们在日常使用Git的过程中经常会发生一些意外情况,如果处理不当,则可能会出现代码丢失的假象。本文将针对IDEA&Git日常开发中的一些场景,为你层层拨开迷雾,解析常见的错误及其发生原因,...

joymufeng
23分钟前
2
0
传统IDC部署网站(三)

16. chown命令 chown 用来更改一个文件或者目录的所有者护着所属组 -R 级联更改一个目录下所有的目录和文件 chown user1:users 1.txtchown user1.users 1.tx useradd 添加用户的命令 user...

miko0089
34分钟前
1
0
来玩一下Java设计模式之命令模式

wiki上的描述 Encapsulate a request as an object, thereby allowing for the parameterization of clients with different requests, and the queuing or logging of requests. It also al......

小刀爱编程
35分钟前
1
0
Optional类的简单了解

import java.util.Optional;/** * @author hanliwei */public class OptionalTest { /** * Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返...

wind2012
43分钟前
1
0
如何写出好的单元测试?

大家都知道,开发软件的时候为代码编写单元测试是很好的。但实际上,光有测试还不够,还要编写好的测试,这同样重要。 要做到这一点,考虑遵循一些固执的原则,对测试代码给予一些关爱: 1....

程序猿拿Q
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部