Rsync实现定时自动同步备份任务

news/2024/11/16 20:03:11/文章来源:https://www.cnblogs.com/Enzoo/p/10071339.html

 

rsync全量备份 

增量备份.

Rsync 等价cp ,scp,rm,ls 四个命令功能.是一款实现全量及增量复制同步的软件工具.

scp 命令解释:

#1,从远程服务器中下载数据文件到本地主机:

scp root@host1:/tmp/test1 /tmp

#2,从远程服务器中拷贝目录文件到本地主机下面

scp   -r root@host1:/tmp  /tmp (加-r 参数表示递归,拷贝目录及其下的文件)

#3,将本地文件拷贝到远程服务器上.

scp /tmp/test1 root@host1:/tmp

[root@backup ~]# scp root@10.0.0.31:/tmp/test1 /tmp
root@10.0.0.31's password:
test1 100% 50 0.1KB/s 00:00

#4,将本地主机下的目录上传到远程服务器上

scp -r /tmp root@host1:/tmp

Rsync命令实践,等同于scp:

rsync -rp /tmp/ root@172.16.1.31:/tmp/          

rsync -rp /tmp  root@172.16.1.31:/tmp/

说明: 同步数据时,/tmp/目录后有/信息,表示将目录下面的数据内容进行备份同步

   同步数据时,/tmp目录后没有/信息,表示将目录及目录下面的数据内容进行备份同步

rsync 等价于rm命令:

说明:

rsync实现删除目录中数据内容过程,就将一个空目录和一个有数据的目录进行同步
最终,会将有数据的目录中的文件进行清空

[root@backup ~]# rsync --delete /null/ /tmp/
rsync: --delete does not work without -r or -d.
rsync error: syntax or usage error (code 1) at main.c(1422) [client=3.0.6]

rsync   -r --delete /null/ root@172.16.1.31:/tmp/tmp/  (同步目录时用-r 参数)

rsync 等价与ls命令 

ls -l  /etc/hosts

[root@backup ~]# rsync /etc/hosts
-rw-r--r-- 365 2018/12/02 17:28:16 hosts

rsync 工作方式:

①. 本地数据备份方式(cp)

Local: rsync [OPTION...] SRC... [DEST]

rsync --- 数据备份传输命令
option --- 可以输入一下和rsync传输数据有关的参数
src --- 要进行备份的数据(文件/目录)
dest --- 将数据信息备份到什么位置(相应路径中)

②. 远程数据备份方式 (scp)

Push(推) 从本地向远程复制

SRC  --- 指定本地主机要传输到远程主机的数据

DEST --- 将本地数据保存到远端的什么路径中

[root@backup ~]# rsync -avz etc\[date\].tar.gz 172.16.1.31:/tmp/

 

Pull(拉) 从远程向本地复制

rsync [option] src dest

rsync -a 172.16.1.31:/etc/sysconfig/network /data

USER@]HOST: --- 需要指定以什么用户身份登录到远程主机,
如果省略USER信息,表示以当前用户身份进行登录


③. 守护进程传输模式 Rsync daemon:

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]


Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

这种复制方式必须掌握, 常用在服务器的数据备份中,设置成守护进程,随系统服务自动启动,定时备份网站和数据.

服务端部署流程:

1) 检查rsync服务是否安装: rpm -qa |grep rsync

2)编写配置文件 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/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir"
path = /backup

 

3)创建备份目录管理用户, rsync

useradd -M -s /sbin/nologin rsync

4) 创建备份目录

mkdir /backup 

5)创建认证文件,并且让密码文件只有root可以操作,other和group用户无法操作

echo " rsync:123456" >>/etc/rsync.password

chmod 600 /etc/rsync.password

6) 以守护进程启动rsync服务

rsync --daemon

客户端部署Rsync 服务.

1)客户端首先 也要先验证是否安装rsync服务. rpm -qa |grep  rsync 

2) 安装了rsync服务后需要先设置传输的一个认证密码

echo "123456" >>/etc/rsync.password (密码需要和服务端的保持一致)

3)然后就可以通过rsync 将本地的文件备份到远程的备份服务器上.

rsync -avz src dest 

以上报错是说备份的用户没有对模块/bakup 的访问权限,需要更改权限.

在服务端设置chown -R rsync.rsync /backup (对要存储备份文件的目录设置属主和属组都属于rsync)然后再在客户端进行备份操作即可.

Rsync 常见错误分析.

@1,查看报错信息并分析,模拟环境下试试

@2,查看服务的日志文件信息;tail -f /var/log/rsyncd.log 

 #1 客户端错误.

no route to host  一般是防火墙策略问题导致,

#2, 报错2.客户端的错误,

The remote path must start with a module name not a /(必须是模块名称,不是路径名称)

#3.服务认证用户认证失败, 确认账户和密码是否一致.

肯定是密码或者用户名的错误导致的..

或者是 /etc/rsync.password 文件权限不足600 导致的

注意点:

1.密码真的输入错误,用户名输入错误导致;

2.指定的文件密码的路径和实际文件名称不一致;

3./etc/rsync.password 文件权限不足600 导致

4.rsync_backup:123456  密码配置文件后面注意不要空格

5.rsync客户端密码文件中只输入密码信息即可,不要输入虚拟认证用户名称.

 

#4.rsync 服务位置模块错误.

@ERROR: Unknown module 'game'

rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]

#5. rsync服务权限阻止问题
【客户端的错误】
Permission denied
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
Password:
sending incremental file list
hosts
rsync: mkstemp ".hosts.5z3AOA" (in backup) failed: Permission denied (13)
sent 196 bytes received 27 bytes 63.71 bytes/sec
total size is 349 speedup is 1.57
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]
【异常问题解决】
1. 备份目录的属主和属组不正确,不是rsync
2. 备份目录的权限不正确,不是755

#6.rsync服务备份目录异常

chdir  failed 客户端错误

异常解决:

1.备份目录没有建立

2.建立的备份目录

Rsync 设置多模块进行备份.

守护进程排除目录功能实践,

sync -avz --exclude={b,d} rsync_backup@172.16.1.41::games  /tmp/tony --password-file=/etc/rsync.password

数据备份排除文件或目录

--exclude-from=( 排除文件)  exclude_file

守护进程来创建备份目录.

适用场景,将本地的文件备份到远程的存储服务器上.命令:

rsync -avz /tmp/tony/ rsync_backup@172.16.1.41::games/op/   --password-file=/etc/rsync.password 

[root@backup games]# ls -l op/
total 0
-rw-r--r-- 1 rsync rsync 0 Dec 5 14:32 a
-rw-r--r-- 1 rsync rsync 0 Dec 5 14:32 c

###守护进程访问控制设置

 ###无差异备份同步操作 , --delete参数

###守护进程的列表功能配置.

list=true   这是开启 备份的模块名称

rsync rsync_backup@172.16.1.31::games  --password-file=/etc/rsync.password

#启动rsync 指定端口和配置文件

rsync --daemon --port 8888 --config=xxxx 指定是别的rsync服务配置文件信息

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787969.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sco openserver5.0.7安装

目录启动图形化界面配置IP关机,把光盘去掉启动图形化界面 # startx配置IP # 临时配置IP # ifconfig at10 172.16.186.109 netmask 255.255.255.0 broadcast 172.16.186.255 up 设置默认网关: route add default 192.168.1.1 释义: net0 是网络接口的名称,可以根据实际情况替…

Visual Studio Release版本开启debug窗口进行调试输出。

“项目 -> 属性 -> 生成事件 ->后期生成事件 -> 命令行” 中添加: editbin /SUBSYSTEM:CONSOLE $(OutDir)\$(ProjectName).exe如下:“项目 -> 属性 -> C/C++ -> 优化 -> 优化” 中修改为: 已禁用(/Od)

引用变量

在C++ Primer Plus中,最开始介绍的是变量和引用变量。变量实际就包含了左值类型的变量和右值类型的变量。 引用变量 引用是C++引入的概念,引用变量是已定义的变量的别名(alias)。引用的创建示例如下: int a = 10; int &b = a;引用在定义时必须初始化,这点和const限定…

MURF1640CT-ASEMI智能AI专用MURF1640CT

MURF1640CT-ASEMI智能AI专用MURF1640CT编辑:ll MURF1640CT-ASEMI智能AI专用MURF1640CT 型号:MURF1640CT 品牌:ASEMI 封装:ITO-220AB 批号:最新 最大平均正向电流(IF):16A 最大循环峰值反向电压(VRRM):400V 最大正向电压(VF):0.95V~1..90V 工作温度:-50C~150C 反…

prometheus学习笔记之Grafana安装与配置

一、Grafana简介 grafana是⼀个可视化组件,⽤于接收客户端浏览器的请求并连接到prometheus查询数据,最后经过渲染并在浏览器进⾏体系化显示,需要注意的是, grafana查询数据类似于zabbix⼀样需要⾃定义模板,模板可以⼿动制作也可以导⼊已有模板。 Grafana的基础架构主要包括…

PHPStudy 面板在使用过程中可能会遇到各种错误

面板在使用过程中可能会遇到各种错误。这里列出一些常见的问题及其解决方法: 启动问题启动失败描述:面板启动时失败,无法正常工作。 解决方法:检查面板的日志文件,查找启动失败的具体原因。 确认服务器资源是否足够。 重新安装或更新到最新版本的 PHPStudy。网站问题网站运…

MAMP 是一款在 macOS 上搭建本地 Web 开发环境的工具

MAMP 是一款在 macOS 上搭建本地 Web 开发环境的工具,包括 Apache、MySQL 和 PHP。以下是 MAMP 中一些常见的问题及其解决方法: 安装问题安装后提示已损坏描述:安装 MAMP 后提示应用已损坏,无法打开。 解决方法:关闭系统完整性保护(SIP)。 从可信来源重新下载安装包。 使…

WAMP(Windows + Apache + MySQL + PHP)是在 Windows 系统上搭建本地 Web 开发环境的一种方式

WAMP(Windows + Apache + MySQL + PHP)是在 Windows 系统上搭建本地 Web 开发环境的一种方式。下面是 WAMP 中一些常见的问题及其解决方法: 启动问题启动后 WAMP 托盘图标显示橙色描述:WAMP 启动后托盘图标显示为橙色,表示某些服务没有正常启动。 解决方法:检查 Apache 或…

启动后 WAMP 托盘图标显示橙色怎么办

启动后 WAMP 托盘图标显示橙色描述:WAMP 启动后托盘图标显示为橙色,表示某些服务没有正常启动。 解决方法:检查 Apache 或 MySQL 服务是否成功启动。 如果是端口冲突,尝试更改 Apache 的端口号。 如果是配置问题,检查 httpd.conf 和 my.ini 文件。扫码添加技术【解决问题】…

WAMP 安装完毕后,PHP 文件无法正常运行怎么办

PHP 文件无法运行描述:WAMP 安装完毕后,PHP 文件无法正常运行。 解决方法:确认 PHP 文件是否放在了 www 目录下。 检查 Apache 的配置文件 httpd.conf,确保 PHP 模块已正确加载。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、…

使用 MySQL 时出现错误提示怎么办?

MySQL 无法启动描述:启动 WAMP 时 MySQL 服务无法启动。 解决方法:检查 my.ini 文件中的配置。 确认 MySQL 数据目录是否损坏。 尝试重置 MySQL 数据目录。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascrip…

无法访问 localhost怎么处理

无法访问 localhost描述:启动 XAMPP 后无法通过浏览器访问 http://localhost。 解决方法:确认 Apache 服务是否已经成功启动。 检查防火墙设置,确保没有阻止 Apache 服务。 检查 httpd.conf 文件中的监听地址是否正确。扫码添加技术【解决问题】专注中小企业网站建设、网站安…