当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux教程

Linux自动备份

文章标题:Linux自动备份。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

    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分钟自动同步一次。

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有