文档详情

利用rsync+crontab实现Linux服务器间的定时增量备份..doc

发布:2016-12-28约1.69千字共5页下载文档
文本预览下载声明
利用rsync+crontab实现Linux服务器间的定时增量备份 rsync是Linux、UNIX系统下的数据镜像备份工具,它的特性如下: 1、可以镜像保存整个目录树和文件系统。 2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。 3、无须特殊权限即可安装。 4、优化的流程,文件传输效率高。 5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。? 6、支持匿名传输。 今天就利用rsync+crontab来实现Linux服务器间的定时增量备份。 环境说明: 工作服务器A:IP地址 192.168.1.86,操作系统 CentOS 5.5,已建立用户 tom 备份服务器B:IP地址 192.168.1.87,操作系统 CentOS 5.5,已建立用户 jack(uid 503, gid 503) 实现目的: 每天早上3点,将A服务器上的用户目录/home,自动备份到B服务器的/home/jack/backup-A下,备份增量进行,不需要任何用户交互。 配置步骤: 1、配置备份服务器B 1)[root@Server-B ~]# rpm -qa| grep rsync?? #查看是否有rsync包 ?rsync-2.6.8-3.1 以上输出说明rsync已经装好了,保证/etc/services有下面的行 2)rsync的rpm包本身没有附带rsyncd的配置文件,需要手动创建它(/etc/rsyncd.conf) [root@Server-B ~]# vi /etc/rsyncd.conf 3)修改/etc/xinetd.d/rsync,打开rsync服务 [root@Server-B ~]# vi /etc/xinetd.d/rsync 4)开启rsyncd服务,并设置系统启动时,加载rsync服务 [root@Server-B ~]# /usr/bin/rsync --daemon 5)检验rsync服务是否启动成功 有如下内容表示已经成功启动 6)配置ssh的非交互式登录 思路:服务器A生成一对RSA密钥,自己保留私钥,将私钥附加到登录服务器B的authorized_keys中,A登录B,以及进行A到B的rsync就不用交互式输入密码了。 在服务器A上生成一对密钥(以root的身份执行) 远程登录到备份服务器B上并且创建.ssh目录。 [root@Server-A ~]# ssh jack@192.168.1.87 ?… [jack@Server-B ~]$ mkdir .ssh;chmod 0700 .ssh 在A机上执行远程拷贝公钥到B机: [root@Server-A ~]# scp .ssh/id-rsa.pub root@192.168.1.87: /home/jack/.ssh/authorized_keys 这样,无交互的ssh登录就完成了。特别注意的是B服务器的.ssh目录权限,最好是700,如果赋予它过多的权限,无交互登录可能不生效! 7)编制备份脚本 在服务器A上编写一个备份脚本,放置在/home/tom/public_scripts下,名为backup.sh #!/bin/sh TARGET_DIR=backup-A for SOURCE_DIR in “/home” do echo “Backing up $SOURCE_DIR …” rsync -au –delete $SOURCE_DIR jack@192.168.1.87:/home/jack/$TARGET_DIR done [root@Server-A public_scripts]# chmod 755 backup.sh 该脚本权限设置为755,以便其他用户可访问到。 8)修改计划任务 在服务器A上,用root身份执行以下命令 [root@Server-A ~]# crontab –e ?3?* * * * /home/tom/public_scripts/backup.sh 作者:江西新华电脑学院 2015-10-15
显示全部
相似文档