wordpress利用rsync同步备份
我搭建的wordpress服务器现在使用的系统是opensuse,
服务器上面已做脚本和计划任务将wordpress使用的数据库与web目录每天压缩备份放到
/data/backup目录下
operation@opensuse-wordpress:~> tree /data
/data
├── backup
│ ├── db
│ │ ├── wordpress_20171220.sql
│ │ ├── wordpress_20171220.sql.bak
│ │ └── wordpress_20171221.sql.gz
│ └── wordpress
│ ├── wordpress_20171220.tar.gz
│ ├── wordpress_20171220.tar.gz.bak
│ └── wordpress_20171221.tar.gz
└── shell
├── mysql_backup.sh
└── wordpress_backup.sh
所以现在欠缺的是再弄个异地备份(opensuse充当服务器,平常使用的公司pc充当客户端去拿取数据备份回来),
这一步实现后再考虑在云上专门用一台服务器做为存储备份的服务器,opensuse上传或同步备份数据到文件服务器上,
任意客户端安装同步的客户端软件从文件服务器上面拉取数据下来(其实就是私有性质的坚果云)。
1、opensuse上安装rsync做为同步文件服务端
operation@opensuse-wordpress:~> sudo zypper in rsync
[sudo] password for root:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
rsync
1 new package to install.
Overall download size: 323.2 KiB. Already cached: 0 B. After the operation, additional 625.5 KiB will be used.
Continue? [y/n/...? shows all options] (y): y
Retrieving package rsync-3.1.0-8.4.x86_64 (1/1), 323.2 KiB (625.5 KiB unpacked)
Retrieving: rsync-3.1.0-8.4.x86_64.rpm .....................................................................[done]
Checking for file conflicts: ...............................................................................[done]
(1/1) Installing: rsync-3.1.0-8.4.x86_64 ...................................................................[done]
2、配置rsync
rsync服务器端需要两个配置文件:rsyncd.conf、rsyncd.secrets。
其中rsyncd.conf默认存放在/etc/目录下,同时它也是rsync服务器的主配置文件。
该文件配置了rsync服务器的控制认证、访问、日志记录等等。而rsyncd.secrets主要用于存储rsync用户名和密码。
如果是编译安装的rsync是不会生成以上这两个配置文件的,需要我们手工进行创建。
不过在这我是用zypper安装的,当然直接在/etc下面就有rsyncd.conf和rsyncd.secrets文件。
sudo vim /etc/rsyncd.conf
gid = users
read only = true
use chroot = true
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = trusted.hosts
slp refresh = 300
use slp = false
secrets file=/etc/rsyncd.secrets
##以上是全局配置
[backup]
uid = root
gid = root
path = /data/backup
ignore errors
read only = true
auth users = wordpress
secrets file = /etc/rsyncd.secrets
#以上是针对备份同步目录的配置
rsync默认是在nobody用户下运行的,
但是我们测试为了同步时不为各种权限的事情烦恼,就让其在root用户下运行。
配置文件修改完成后,到创建密码文件:
vim /etc/rsyncd.secrets
将wordpress的用户和密码编辑进去,例如:
wordpress:ABCabc123
注:该密码文件中的用户和密码可以进行自定义,同时该用户不一定要在服务器中的系统用户中存在。密码文件创建完毕后,还需要将其权限设置为600,否则会在以后同步时提示验证出错。(zypper安装完成的不用再做此步骤也是600了)
chmod 600 /etc/rsyncd.secrets
一个rsync配置文件中可以包含多个认证模块(比如上面列表的[backup]),同时一个密码文件中也可以存放多个用户和其对应的密码。其中每一个认证模块可以对应不同的客户端。
3、启动rsync
sudo rsync --daemon
可以pstree看rsync进程是否有运行和netstat看873端口开起来没有。
4、windows客户端安装rsync
https://www.itefix.net/cwrsync
最新版cwRsync-5.5.0-32位的下载链接如下:
https://www.itefix.net/dl/cwRsync_5.5.0_x86_Free.zip
下载解压完成,双击目录下的cwrsync.cmd或在cmd命令提示窗口下运行完成批处理安装。
安装完成后,阿里云服务器安全组上开通873端口(放行rsync)
运行rsync命令去拉取服务器上的备份目录文件,出现报错:
D:\soft\cwRsync\bin> ./rsync -avz wordpress@39.x.x.x::backup /wordpress
@ERROR: access denied to backup from UNKNOWN (183.x.x.x)
rsync error: error starting client-server protocol (code 5) at main.c(1648) [Receiver=3.1.2]
还是拒绝客户端的访问,于是我在配置文件中直接插入一句
hosts allow = 183.x.x.x
注:x.x.x是指代你服务器和客户端ip地址。在这里我不能直接暴露真实的ip出来。实际上操作的时候当然不是敲x.x.x。
再尝试就可以出现让你输入密码的交互了,可见默认全局配置是禁止了外网访问?
D:\soft\cwRsync\bin> ./rsync -avz wordpress@39.x.x.x::backup /wordpress
Password:
(注:密码交互输入时不会显示密码)
receiving incremental file list
created directory /wordpress
./
db/
db/wordpress_20171220.sql
db/wordpress_20171220.sql.bak
db/wordpress_20171221.sql.gz
db/wordpress_20171222.sql.gz
wordpress/
wordpress/wordpress_20171220.tar.gz
wordpress/wordpress_20171220.tar.gz.bak
wordpress/wordpress_20171221.tar.gz
wordpress/wordpress_20171222.tar.gz
sent 195 bytes received 146,589,159 bytes 133,202.50 bytes/sec
total size is 149,629,764 speedup is 1.02
当然,后面要做成计划任务是不想再弹密码输入交互的,新建一个单纯存放密码的文本文件,
将密码保存进去后,命令就会变成:
D:\soft\cwRsync\bin> ./rsync -avz wordpress@39.x.x.x::backup /wordpress --password-file=/passwd.txt
receiving incremental file list
sent 22 bytes received 331 bytes 706.00 bytes/sec
total size is 149,629,764 speedup is 423,880.35
注意:在上面命令中我是将备份文件都同步到D:\soft\cwRsync\wordpress路径中,/根目录就是cwRsync安装的目录。
如果是要定义放到windows系统的D盘则路径表示为/cygdrive/d/
不想每次都进入到cwRsync目录下再执行命令,就在系统环境变量Path中添加上D:\soft\cwRsync\bin就可以了。
5、执行计划任务去同步服务器的备份文件
把上述命令,写到一个批处理文件中,然后在任务计划中进行配置。
新建rsync_wordpress.bat文件中写入一行:
rsync -az wordpress@39.x.x.x::backup /wordpress --password-file=/passwd.txt
保存。
打开任务计划程序,创建任务,设置好计划任务,
触发器是每天的中午12点40分,操作是运行批处理脚本rsync_wordpress.bat。
验证生效。
文:铁乐与猫
wordpress利用rsync同步备份的更多相关文章
- rsync同步备份
一.服务器端.备份客户端安装 rsync 服务. 1.环境: CentOS 主 IP:172.16.3.18 备 IP:172.16.3.19 2.安装 rsync 软件 #yum install r ...
- rsync同步备份搭建
Rsync 是 Unix/Linux 下的一款应用软 在平常的运维中进常要对一些数据进行备份,以防止意外的服务器故障导致不可避免的后果,tar,cp只能适应一些小范围backup,对于几T甚至几P的数 ...
- 利用Rsync同步工具上传、删除目标文件
Rsync是文件备份工具,当然也可以当做传输工具,管理远程服务器的文件 上传 rsync -avzP --progress --port 9106 /path/.../指定文件 root@192.16 ...
- wordpress使用rsync加openvpn进行同步和备份
目录 wordpress使用rsync加openvpn进行同步和备份 环境 普通同步策略的弊端 改良的同步方案 从头细说起 备份数据 打包wordpress项目和备份 服务端安装rsync 服务端配置 ...
- 利用rsync备份生产应用(一)
rsync简单介绍 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的"Rsync算法"来 ...
- Rsync + sersync 实时同步备份
一 Rsync + Sersync 实时同步介绍 1.Rsync 服务搭建介绍 云机上搭建Rsync server,在本地搭建Rsync Clinet. 2. Sersync 服务搭建介绍 ...
- 搭建中小规模集群之rsync数据同步备份
NFS重要问题 1.有关NFS客户端普通用户写NFS的问题. 1)为什么要普通用户写NFS. 2)exports加all_squash. Rsync介绍 什么是Rsync? Rsync是一款开源的.快 ...
- CentOS 6.5 rsync+inotify实现数据实时同步备份
CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...
- 同步备份工具之 rsync
1.常用同步方法 SCP. NFS. SFTP. http. samba. rsync. drbd(基于文件系统同步,效率高) 2.rsync 介绍 rsync,英文全称是 remote synchr ...
随机推荐
- Installing haproxy load balancing for http and https--转载
This example will guide you through a simple IP based load balancing solution that handles ssl traff ...
- Vue教程:windows下安装npm和cnpm
[安装步骤] 一.安装node.js 1.前往node.js官网下载并安装工具,这里安装路径选到D盘,D:\Program Files\nodejs 安装完毕在命令行输入以下命令测试是否安装成功,正确 ...
- hadoop学习笔记(十):MapReduce工作原理(重点)
一.MapReduce完整运行流程 解析: 1 在客户端启动一个作业. 2 向JobTracker请求一个Job ID. 3 将运行作业所需要的资源文件复制到HDFS上,包括MapReduce程序打包 ...
- 15.Generator 函数的语法
Generator 函数的语法 Generator 函数的语法 简介 基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同.本章详细介绍 Generat ...
- Redis--redis集群环境搭建
1.redis-cluster架构图 Redis 自3.0以后开始支持集群.从上图我们可以看出,redis集群的每个节点之间都进行相互通信,在redis集群中,不存在代理层,即没有固定的入口.redi ...
- [日常] 研究redis未授权访问漏洞利用过程
前提:redis允许远程连接,不需要密码 1522057495.583846 [0 123.206.24.121:50084] "set" "dUHkp" &q ...
- mybatis自动生成代码,逆向工程
https://gitee.com/yangliuwin/mybatis_reverse_engineering.git
- Maven配置私服仓库
首先就是,最基本的打开maven的配置文件,上面是我自己的习惯,多留一个以备不坏 打开setting配置文件,来修改路径(本人不习惯将所有软件放在C盘,一般都是单独存放盘) 接下来就是公司给你的账户和 ...
- [js常用]将秒转化为时分秒
内容引入至网络 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...
- css实现div不定宽高垂直水平居中解决方案
在项目中我们经常能碰见然图片垂直水平居中,不定宽高的div垂直水平居中,等等~~ 现在我将介绍我所知道的几种用css来解决的几种方案. 1.父元素text-align:center;display:t ...