用rsync同步centos服务器上的图片文件到windows本地

在团队小的时候,运维都是后台人员兼职。没时间搞什么图片服务器啊,fastdfs啊之类的分布式存储,用七牛,阿里云oss好像又有些奢侈,这些对象存储平台按流量收费,听说有些团队的图片被恶意访问,一晚上扣流量费扣了好多钱。小企业,担不起这个风险。就用最笨的办法。服务器收到图片存储请求,就将图片存储在服务器硬盘上。然后用nginx反向代理,给一个独立域名访问。方案如下

http - > nginx -> 访问指定资源目录

个人以为,用户量不大的早期app后台或小型后台服务,可以这样处理。

但是这样处理存在一个隐患。上次腾讯云崩溃,导致用户的数据资料丢失还历历在目。所以,不怕一万,就怕万一。还是需要对传到服务器上的图片进行备份。可以备份到另外一台服务器上,当然也可以备份到本地硬盘。本文提供一种简单的服务器文件备份到本机的操作方案

服务器端 centos7

安装rsync
1、检查有没有安装rsync
在这里插入图片描述
没有安装则用

yum -y install rysnc

命令安装
在这里插入图片描述

2、安装完毕添加配置

在 /etc/rsyncd 目录下添加如下三个文件
在这里插入图片描述

rsyncd.conf文件内容

# Distributed under the terms of the GNU General Public License v2
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help
# This line is required by the /etc/init.d/rsyncd script
#告诉进程写到 /var/run/rsyncd.pid 文件中
pid file = /var/run/rsyncd.pid 
lock file =/var/run/rsyncd.lock

#日志文件
log file =/var/log/rsyncd.log
log format = %t %a %m %f %b
syslog facility = local3

#指定运行端口,默认是873
port = 8877     

#指定服务器IP地址
address = 192.168.0.199

#服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody
uid = root
gid = root

#如果"use chroot"指定为yes,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为yes
use chroot = no

#客户端最多连接数
max connections = 5
motd file = /etc/rsyncd/rsyncd.motd
timeout = 300

#同步模块
[resources] 
#指定文件目录所在路径
path =  /home/RESOURCES

#list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。如果你不想列出来,就no ;如果是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。你自己知道就行了
list=yes

#指定在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。一般来说 rsync 在出现 I/O 错误时将将跳过 –delete 操作,以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题。
ignore errors

#如果为yes,表示只读本地文件就无法同步到服务器
read only = no

#允许连接的ip,在演示中使用的云服务器就直接写*,表示无限制 如果要规定ip或者ip段(10.1.4.0/255.255.255.0)需要进行其他配置
hosts allow=*
#hosts allow=10.1.4.0/255.255.255.0
#hosts deny=*

#auth users 是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开
auth users = root

#密码存在rsyncd.passwd文件里
secrets file = /etc/rsyncd/rsyncd.passwd

rsync.passwd 内容
指定密码。为了示范,这里搞了个最简单的国民常用密码
在这里插入图片描述
rsyncd.motd 内容
这个是用来设置欢迎页面
在这里插入图片描述

启动

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

已经启动
在这里插入图片描述

权限设置-很重要
如果不进行权限设置,在客户端就会提示授权失败!
在这里插入图片描述

客户端

客户端下载cwRsync_5.4.1_x86_Free文件
解压后如下图,红色的是新增的一个password.txt
在这里插入图片描述
password.txt内容如下
在这里插入图片描述
也就是对应的centos上rsync.passwd 的内容一样

2、执行命令

rsync.exe  -avzP  --port=8877 --password-file=D:\Dev\Tools\cwRsync_5.4.1_x86_Free\password.txt root@192
.168.0.199::resources     /cygdrive/d/data

这段命令的意思简单说下
–port=8877 #端口
root #执行数据同步的用户
192.68.0.199 #服务器地址
resources #模块名称
/cygdrive/d/data 表示本地的同步文件夹/d/data 为同步文件夹

如果指定
–delete #从cwRsync客户端D:\data目录中删除与Rsync服务端/home/test目录中不相同的数据,即保证两边的数据完全一致

运行起来,同步的效果如下
在这里插入图片描述

仅供各位老铁参考。等用户量大了,该花钱上OSS的,该弄图片服务器集群的还是要搞的。

2018年9月26日18:40:23
witch_soya

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值