软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

Linux自动备份
发布于:第八基地 来源:互联网 作者:天堂路上 时间:2016-04-27 点击:250

1. 利用的工具:rsync,ssh

    2. 特点:

    l检查原文件并只复制发生变化的数据块

    l使用ssh加密数据

    l允许传输前压缩

    l 从源系统移除数据时,在目标系统上自动移除

    l允许设置WAN连接的数据传输速度

    l具有复制设备文件的能力

    3. 简单的备份示意图

    

    图1:备份示意图

    4. Ssh服务器与客户端设置为了实现自动双向验证,我们通过公钥验证,这里用root来连接服务器,首先更改ssh服务器的ssh服务配置文件/etc/ssh/sshd_config.

    如下图:去掉:椭圆里前面的注释:

    clip_image004

    图2

    然后重启服务:#service sshd restart。

    为客服端的root用户生成密钥对:

    #ssh-keygen -t rsa

    如图3所示,将在家目录下的.ssh/ 目录下生成id_rsa,id_rsa.pub文件,其中前面一个是私钥,后面一个是公钥

    clip_image006

    图3

    将公钥id_rsa.pub的内容复制到ssh服务器的/root/.ssh/authorized.keys文件里。

    这样服务器就可以通过公钥对root用户认证,而客户端对服务器的认证是在首次连接时,自动从服务器下载服务器公钥,并放在~/.ssh/known_hosts里。

    最后一步:运行一下#ssh-add命令

    然后测试:

    在客服端输入:

    #ssh cluster2 hostname

    命令,如果成功的话将直接输出hostname运行结果,而没有输入密码提示。

    5. 配置rsync:

    我们创建在rsync主服务器(ssh客服端)上创建一个测试目录:

    #mkdir /www

    #echo “this is a rsync test” > /www/index.html

    运行rsync命令:

    #rsync -v -a -z -e ssh --delete /www/ cluster2:/www

    -v显示操作信息

    -a目录下的文件及目录

    -z压缩

    -e ssh通过ssh传输

    /www/ 源目录,注意要以“/”结尾后面就是备份目标了,详细的rsync选项请查阅在线文档将远程文件“拉”到本地,只需将源路径和目标路径交换。

    6. 剩下的就是通过cron作业,定期复制备份了。如下

    #crontab -e

    30 * * * * rsync -v -a -z -e ssh --delete /www/ cluster2:/www >/dev/null 2>&1

    这样每隔30分钟自动同步一次。

上一篇:没有了
对我有帮助
(0)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈