博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
远程rsync实时备份方案脚本
阅读量:6406 次
发布时间:2019-06-23

本文共 1854 字,大约阅读时间需要 6 分钟。

hot3.png

准备环境:

首先,想要使用远程备份,必须要让远程主机信任你,让你能够使用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分钟进行一次远程备份了!

转载于:https://my.oschina.net/xxbAndy/blog/293025

你可能感兴趣的文章
Linux Foundation(笔记)
查看>>
Java学习第二十五天
查看>>
vim配置
查看>>
ubuntu 把软件源修改为国内源和更新
查看>>
随机产生四则运算,导入导出文件
查看>>
位运算符
查看>>
winform自定义控件
查看>>
C#编码好习惯
查看>>
避其锋芒,侧翼出击。——司马亮创业回忆录(一)
查看>>
scope
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
查看>>
[shell 命令] find 查找文件
查看>>
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>
sqlloader外部表
查看>>
golang笔记——数组与切片
查看>>
屏蔽可忽略的js脚本错误
查看>>