我搭建的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。

验证生效。

文:铁乐与猫

转载于:https://www.cnblogs.com/tielemao/p/8464949.html

wordpress利用rsync同步备份相关推荐

  1. lqc_必备技能rsync同步备份

    第十三章实验(一):必备技能rsync同步备份 注意:还原192.168.100.150和192.168.100.151 1.rsync同步备份 1)了解rsync rsync是一个开源快速备份工具 ...

  2. Linux下利用rsync实现多服务器文件同步

    Linux下利用rsync实现多服务器文件同步 目标:多服务器文件同步 环境:2台centos5.6 Web端:192.168.20.20 Backup端:192.168.20.21 需要备份目录为: ...

  3. inotify介绍及rsync + inotify 实时同步备份

    1.前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计 ...

  4. 企业级别应用--rsync远程同步(配置 rsync 备份源、rsync 下行和上行、inotify+rsync 实时备份)

    文章目录 一.配置 rsync 源服务器 1.1 rsync简介 1.2 rsync特点 1.3 配置 rsync 同步源 1.4 测试rsync功能 下行同步的三种方式 二.inotify+rsyn ...

  5. 银河麒麟V10配置rsync实现服务器同步备份

    前言 rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具.适用于多个平台.今天我们在银河麒麟桌面v10和银河麒麟服务器V10间利用rsync实现桌面文件定时备份到服 ...

  6. Linux下利用rsync实现网站镜像同步

    利用rsync实现网站镜像同步 作者:Operation by CrazyLinux 工作室 一.安装 RHEL5默认使用的是rsync 2.x版本的.对系统资源使用较大,建议下载3.x版本的使用 下 ...

  7. LinuxShell脚本之利用rsync+ssh实现Linux文件系统远程备份

    功能介绍: 该脚本用于定期(结合crontab一起使用)将本地目录通过rsync+ssh传输到远程服务器,每次执行都生成一个带有以时间命名的目录,并且当前最新版本的数据链接到一个名字叫current的 ...

  8. rsync 服务器文件同步备份

    rsync 服务器文件同步备份 一.安装rsync服务器 下载地址:http://samba.anu.edu.au/ftp/rsync/   服务器    192.168.1.11 wget http ...

  9. Linux Rsync实现文件同步备份(转载)

    原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...

最新文章

  1. 《OpenCV3编程入门》学习笔记8 图像轮廓与图像分割修复(一)查找并绘制轮廓
  2. R绘制边缘直方图、箱图(Marginal Histogram / Boxplot)
  3. 通过组策略找回“网上邻居”
  4. 互联网1分钟 |1120
  5. android listview的理解,Android ListView的理解
  6. mybatis plug 只查id_MyBatis Generator的一个问题引发对插件的修改
  7. 传统蓝牙和Bluz低功耗蓝牙的区别
  8. petalinux笔记
  9. 一个稳定、快速的云服务器——萤光云
  10. win7可以运行python_win7安装python开发环境,运行python
  11. 初学者-Python 网页爬取小说
  12. fluent 对电机油冷分析_油冷机冬季常见故障、原因分析及排除方法
  13. LG、大宇、甲骨文、赛福时、贝宝、Kate Spade、长城汽车等公司高管变动
  14. mac es安装踩坑日记
  15. APDS-9960手势检测、接近检测、数字环境光感(ALS)和色感(RGBC)传感器驱动(基于传感器管理组件)...
  16. 潭州学院html学习(day06)
  17. 华为6面ssp+滴滴sp+京东面经
  18. Vue的双向数据绑定原理(极简版)
  19. iPhone撕衣服游戏-图片擦除
  20. [最强大脑]获奖名单

热门文章

  1. JavaScript创建对象的三种方式之利用new object创建对象及使用方法(2)
  2. java fileio_java FileIO类
  3. JQueryDOM之查找节点
  4. 试题3 基础练习 数列排序
  5. 二分最大匹配(匈牙利算法+HK算法)
  6. Undefined function 'conv2' for input arguments of type 'double' and attributes 'full 3d complex'.
  7. 字符串的连接(复习)
  8. GraphQL | 一种配得上凡尔赛的API框架
  9. 想创业?从学会需求谈判开始
  10. 观察0号中断:除数为0