微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

笔记:centos6 rsync配置测试

rsync 优点:

1、增量备份,只修改改变的文件

2、支持socket(daemon模式),集中备份,不同服务器推送;


rsync 缺点:

1、大量小文件对比时间长;(打包后同步,drbd文件系统同步复制block或者由程序代码控制写两份)

2、rsync进程停止;

3、同步大文件,未同步完成前为隐藏文件,中断的话会占用空间;


本地增量同步,与cp格式用法基本一致,加--delete参数会保持文件文件完全一致

rsync -avz /tmp/ /tmp_test/


通过ssh隧道同步

rsync -avz -e 'ssh -p 22' /tmp root@x.x.x.x:/tmp


rsync客户端命令参数

-a 递归方式传输文件,并保持所有文件属性(包含多个参数)

-v 显示进度

-z 传输时压缩,提高传输效率

-e 通道

--exclude 排除


rsync daemon模式服务端:

1、创建出rsync服务端的配置文件

touch /etc/rsyncd.conf &&\

cat >>/etc/rsyncd.conf<<eof

#Rsync server

#created by babyplus 2016-06-16

##rsycnd.conf start##

#客户端连过来具备的权限

uid = rsync

gid = rsync

#安全相关,一般关闭

use chroot = no

#并发量

max connections = 2000

#超时等待

timeout = 600

#进程号的文件,每个进程都有一个进程号

pid file = /var/run/rsyncd.pid

#锁文件

lock file = /var/run/rsync.lock

#日志文件

log file = /var/log/rsyncd.log

ignore errors

#可否写入,改为ture只能拉不能推

read only = false

#可以查看服务端有什么文件

list = false

#允许连接的客户端

hosts allow = 10.0.0.0/24

hosts deny = 0.0.0.0/32

#启用虚拟用户作为连接用户 /etc/rsync.password里配置的账号

auth users = rsync_backup

#用户密码的文件

secrets file = /etc/rsync.password

################################################

[backup]

comment = test 2016-06-16

#要共享的目录,rw属性

path = /backup

eof



2、创建傀儡用户,当客户端连上,就是rsync权限

useradd rsync -s /sbin/nologin -M

id rsync


3、创建备份文件夹并修改权限,用户.用户

mkdir -p /backup &&chown -R rsync.rsync /backup/


4、创建用户密码文件

touch /etc/rsync.password &&\

echo "rsync_backup:11111111" >/etc/rsync.password


5、修改密码文件权限

chmod 600 /etc/rsync.password


6、启动服务,无启动脚本,需要自己写,--address指定ip地址

rsync --daemon --address=x.x.x.x


7、查看服务是否开启

lsof -i :873


8、加入开机启动



rsync daemon模式客户端:

1、创建密码文件

touch /etc/rsync.password &&\

echo "11111111" >/etc/rsync.password &&\

chmod 600 /etc/rsync.password


2、PUSH:

rsync -avz /tmp/ rsync_back@x.x.x.x::backup --password-file=/etc/rsync.password


3、PULL:

#


客户端打包推送:

1、打包文件

cd / && tar zcvf conf_$(date_+%F).tar.gz /var/spool/cron/root /etc/rc.local /servers/scripts /etc/sysconfig/iptables


(未测试)制作定时任务:

cat >/script/test.sh<<eof

#!/bin/sh

#backup

IP=$(ifconfig eth1|awk -F '[ :]+' '{print $4}')

zipDate=$(date +%F).tar.gz

Path=/backup/$IP

mkdir -p $Path

cd / &&\

#定时任务里不加v,不显示执行信息

tar zcf $Path/log_$(zipDate) /app/logs

#...


#to back server 目录后面需要加/

rsync -avz $Path/ rsync_back@x.x.x.x::backup --password-file=/etc/rsync.password

#delete templete

find /backup -type f -name "*.tar.gz" -mtime +7|xargs rm -f

eof

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。