用rsync备份一台linux服务器上的数据

rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可

备份到远程服务器

这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器

环境

将需要备份机器叫做服务器端 (192.168.0.195)
将备份后数据存放机器叫做客户端 (192.168.0.196)

配置

1.服务器端的配置:

这里是准备备份/chinfotech/kernel/zp/这个目录,修改配置文件

1
vim /etc/rsyncd.conf (没有就创建)

配置文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
uid=root
gid=root
max connections=10
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock

[zp]
path=/chinfotech/kernel/zp/
comment=beifen
ignore errors
read only = no
hosts allow=*

启动进程:

1
rsync --daemon --config=/etc/rsyncd.conf

服务器端就配置好了.

2.客户端机器的配置

在客户端不需要太多配置只需要执行:

1
rsync -avz --bwlimit=30000 root@192.168.0.195::zp /back/zp/

参数解释:

1
2
3
4
5
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
-v, --verbose 详细模式输出
-z, --compress 对备份的文件在传输时进行压缩处理
--bwlimit=KBPS 限制I/O带宽,KBytes per second (最好限速,不然长时间数据传输硬盘受不了)
::zp这个是上面服务器配置当中的[zp]

这样备份就开始了

配置rsync的本地同步

使用命令进行同步,这个是从lsyncd这个软件里面提取的命令,也可以用那个做实时同步,这个是定期同步

每天的三点过5分执行同步,加超时:

1
2
5 3 * * * root timeout 7200  rsync -qvzrtopg    /zbkc /sdl
5 3 * * * root timeout 7200 rsync -qvzrtopg --delete /zbkc /sdl

让配置文件生效

1
crontab /etc/crontab 

重启服务

1
/etc/init.d/cron restart

配置远程的同步

1
rsync -avP /a1/ 192.168.8.107:/a1/

加个S可以传输稀疏文件

写于: 2012年07月20日,2014年06月24日
更新于: 2015年03月22日