ubuntu14 使用rsync远程备份文件

服务端:

Ubuntu默认安装有rsync,只需要在rsync中将false改true

#sudo vim /etc/default/rsync
RSYNC_ENABLE=true   

创建目录管理用户、备份存储目录、授权

# useradd rsync -M -s /sbin/nologin
# mkdir /backup
# chown -R rsync.rsync /backup

创建认证账号密码和授权

# echo "auth_rsync:123qwe" >>/etc/rsync.password
# chmod 600 /etc/rsync.password

编辑配置文件

# vim /etc/rsyncd.conf 
uid=rsync
#刚才新建的管理用户
gid=rsync
use chroot=no
#安全机制,默认关闭
max connections=200
#最大连接数
timeout=300
#超时时间
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
log file=/var/log/rsyncd.log
#设置pid、lock、log目录

[bagit]
#模块名
comment=git backup
#备注
path=/backup
#备份存储目录
ignore errors
#忽略错误
read only=false
#默认关闭,若想停止备份则修改成true
fake super=yes
#参数-a 传输会报错,使用这个参数不报错
#rsync: chgrp ".2.txt.hp7Mew" (in bagit) failed: Operation not permitted 
list=false
#是否列表模块列表信息,默认关闭
hosts allow=10.20.0.0/255.255.0.0
#白名单
hosts deny=all
#黑名单,有白名单的时候,优先白名单
auth users=auth_rsync
#客户端连接使用的认证账号(配置文件配置即可,不需创建用户)
secrets file=/etc/rsync.password
#认证账号密码目录

 启动服务

# rsync --daemon
# netstat -lnp | grep rsync
tcp    0  0 0.0.0.0:873     0.0.0.0:*               LISTEN      1170/rsync      
tcp6   0  0 :::873        :::*                    LISTEN      1170/rsync      
# killall rsync
#杀掉服务

客户端:

查看是否有安装rsync

# dpkg -l | grep rsync
ii  rsync                            3.1.0-2ubuntu0.4                           amd64

创建连接密码并授权

# echo "123qwe" >>/etc/rsync.password
# chmod 600 /etc/rsync.password

客户端测试:

# rsync -azvhnp /home/ [email protected]::bagit --password-file=/etc/rsync.password >>/var/log/rsync_client.log

#-a 递归方式传输文件,并保持文件属性,等价-rlptgoD不包含-H -r 子目录以递归模式处理-l 保持符号链接文件-H 保持硬链接文件-p 保持文件权限-t 保持文件时间信息-g 保持文件归属组信息-o 保持文件归属用户信息-D 保持设备文件和特殊文件-z 在传输文件时进行压缩处理-p 等价于—partial—progress-v,--verbose 详细输出模式-h,--human-readable 输出文件大小-n,--dry-run 显示那些文件将要被传输--password-file=FILE 指定从FILE中读取口令,避免在终端中输入口令

# 目录后面加 / or 不加 / (/home)是有区别的,不加会将整个目录同步过去,
# 加 / 后 (/home/)会同步home目录下的所以内容,而不附带home目录

猜你喜欢

转载自www.cnblogs.com/dthum/p/11929092.html