rsync 定时同步

A服务器 192.168.176.130     /tmp/

B客户端 192.168.176.131    客户端的目录可以通过命令指定

功能说明,

B主动向A发送同步指令。

1、客户端和服务器安装rsync

yum install rsync

2、修改服务器配置rsync主配置文件

[[email protected] xinetd.d]# cat /etc/rsyncd.conf

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

uid = root

use chroot = no

max connections = 4

pid file = /var/run/rsyncd.pid

[tmp]                                   #模块名称

path = /tmp                         #同步目录

ignore errors

read only = true

list = false

hosts allow = 192.168.176.131         #允许那个客户端来同步

hosts deny = 0.0.0.0/32               #拒绝客户端,这里表示不拒绝

auth users = rsync                    #同步文件里面的同步账户,可以随便设置,但必须和rsync.pass里的账户一致

secrets file = /etc/rsync.pass

三、创建/etc/rsync.pass这个服务端认证文件,并赋予400权限 认证文件的格式为用户名:密码

vim /etc/rsync.pass

rsync:123456

chmod 400 /etc/rsync.pass

systemctl start rsyncd

四、客户端配置

新建一个密码认证文件,只需要添加rsync.pass里面的密码就可以了,并使权限为400

vim /etc/rsync_client.pass

123456

chmod 400 /etc/rsync_client.pass

五,同步数据,下面的语句就是以服务器端的文件为准同步到本地,本地有的服务器端没有的就删除。

rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass [email protected]::tmp /root     #紫色的是服务器配置文件里面的模块名称;红色的就客户端需要将服务器的文件下载到本地的目录,可以改成自己的目录,不一定要/root;这里的用户是rsync认证文件里的用户;服务端ip地址192.168.176.130;

六、定时执行上面的命令,可以使用cron,我这里每天执行一次。

vim /etc/cron.daily/rsync.daily

#!/bin/bash

rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass [email protected]::tmp /tmp

chmod +x /etc/cron.daily/rsync.daily

附上rsync命令的参数:

rsync参数说明

-vzrtopg里的

v是verbose,

z是压缩,

r是recursive,

topg都是保持文件原有属性如属主、时间的参数

----progress

是指显示出详细的进度情况

--delete

是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

--exclude="*.tmp"

不包含某些文件

--execlude-from= 排除不需要同步的目录

--password-file

指定CLIENT端密码文件存放路径

/opt/web/

指定CLIENT端存放镜象目的路径

选项说明

-v, --verbose 详细模式输出

-q, --quiet 精简输出模式

-c, --checksum 打开校验开关,强制对文件传输进行校验

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

-r, --recursive 对子目录以递归模式处理

-R, --relative 使用相对路径信息

rsync foo/bar/foo.c remote:/tmp/

则在/tmp目录下创建foo.c文件,而如果使用-R参数:

rsync -R foo/bar/foo.c remote:/tmp/

则会创建文件/tmp/foo/bar/foo.c,也就是会保持完全路径信息。

-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。

--backup-dir 将备份文件(如~filename)存放在在目录下。

-suffix=SUFFIX 定义备份文件前缀

-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

-l, --links 保留软链结

-L, --copy-links 想对待常规文件一样处理软链结

--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结

--safe-links 忽略指向SRC路径目录树以外的链结

-H, --hard-links 保留硬链结

-p, --perms 保持文件权限

-o, --owner 保持文件属主信息

-g, --group 保持文件属组信息

-D, --devices 保持设备文件信息

-t, --times 保持文件时间信息

-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间

-n, --dry-run现实哪些文件将被传输

-W, --whole-file 拷贝文件,不进行增量检测

-x, --one-file-system 不要跨越文件系统边界

-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节

-e, --rsh=COMMAND 指定替代rsh的shell程序

--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息

-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件

--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件

--delete 删除那些DST中SRC没有的文件

--delete-excluded 同样删除接收端那些被该选项指定排除的文件

--delete-after 传输结束以后再删除

--ignore-errors 及时出现IO错误也进行删除

--max-delete=NUM 最多删除NUM个文件

--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输

--force 强制删除目录,即使不为空

--numeric-ids 不将数字的用户和组ID匹配为用户名和组名

--timeout=TIME IP超时时间,单位为秒

-I, --ignore-times 不跳过那些有同样的时间和长度的文件

--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间

--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0

-T --temp-dir=DIR 在DIR中创建临时文件

--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份

-P 等同于 --partial

--progress 显示备份过程

-z, --compress 对备份的文件在传输时进行压缩处理

--exclude=PATTERN 指定排除不需要传输的文件模式

--include=PATTERN 指定不排除而需要传输的文件模式

--exclude-from=FILE 排除FILE中指定模式的文件

--include-from=FILE 不排除FILE指定模式匹配的文件

--version 打印版本信息

--address 绑定到特定的地址

--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件

--port=PORT 指定其他的rsync服务端口

--blocking-io 对远程shell使用阻塞IO

-stats 给出某些文件的传输状态

--progress 在传输时现实传输过程

--log-format=formAT 指定日志文件格式

--password-file=FILE 从FILE中得到密码

--bwlimit=KBPS 限制I/O带宽,KBytes per second

-h, --help 显示帮助信息

时间: 2024-11-04 13:09:17

rsync 定时同步的相关文章

rsync定时同步配置

title: rsync定时同步配置 tags: rsync,sync,同步,增量grammar_cjkRuby: true [TOC] rsync定时同步配置 1. rsync简述: rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步.可以很容易做到保持原来文件的权限.时间.软硬链接等等.无须特殊权限即可安装.快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rs

rsync定时同步备份

[[email protected] ~]# vim /etc/rsyncd.passwd在文件中添加密码为123456[[email protected] ~]# chmod 600 /etc/rsyncd.passwd添加脚本rsync-mysql.sh[[email protected] ~]# # cat /home/script-shell/rsync-mysql.sh rsync -avz /home/mysqlbak [email protected]:: databack --p

Centos RSync+Shell实现数据定时同步

我们前面介绍了几篇关于Centos相关服务安装及配置,今天我们主要介绍如何实现本地与远程计算机的数据目录同步,在我之前bolg中有一篇通过shell实现本地与远程计算机的数据同步的文章,通过shell同步实现指定目录的复制及覆盖操作不是那么的方便,因为复制目录及覆盖目录只会增量,不会减量,比如:原来的本地有一个目录下的abc.txt被同步到了远程计算机的指定目录后,当本地目录下的abc.txt文件删除后,远程计算机同步目录下的abc.txt依然存在,所以这样导致数据信息不准确,今天了我们为了解决

rsync定时加脚本实现本地到阿里的ftp文件同步

现在需要实现西安ftp到阿里服务器的备份 1.西安为B,阿里为A 2.阿里里面的rsync是已经安装好的,查看了是依赖gti安装的,虽然版本不一样但是不影响使用 3.在A里新建rsync配置文件 4.建连接使用的用户密码 5.到B端进行手动同步实验 6.手动没问题之后进行脚本制作,然后定时运行 接下来开始操作,进入A端服务器新建rsyncd.conf配置文件 vim /etc/rsyncd.conf 我这里已经建好了 UID = #我直接给的root用户 gie = #我直接给的root组 po

rsync参数详解、利用ssh、rsync 实现数据的定时同步

rsync 简介 rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文 件.也可以使用 rsync 同步本??硬盘中的不同目录. rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法 进行数据同步,这种算法只传送两个文件 的不同部分,而不是每次都整份传送,因此速度相当快.您可以参考 How Rsync Works A PracticalOverview 进一步了解 rsync 的运作机制. rsy

Rsync 实现文件定时同步

操作系统: 文件服务器端: Red Hat Linux Advanced Server release 2.1AS/i686 (Pensacola) 客户端:Red Hat Linux release 7.2 (Enigma) 其中,服务器端的Linux已经捆绑了 Rsync.我在AIX下也实现了客户端. [注意事项]: 1.    要确定系统本身是否已经绑定(安装)了Rsync,可以到/usr/bin ,/usr/local/bin/ 或者 /usr/sbin/ 等目录下查找 Rsync是否存

搭建中小规模集群之rsync数据同步备份

NFS重要问题 1.有关NFS客户端普通用户写NFS的问题. 1)为什么要普通用户写NFS. 2)exports加all_squash. Rsync介绍 什么是Rsync? Rsync是一款开源的.快速的.多功能的.可实现全量即增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix.linux.windows等多种操作系统平台. Rsync简介 Rsync英文全称Remote synchronization.从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快

rsync自动同步

Rsync介绍 sync是类unix系统下的数据镜像备份工具--remote sync.一款快速增量备份工具 Remote Sync,远程同步支持本地复制,或者与其他SSH.rsync主机同步. 特性如下: 1,.可以镜像保存整个目录树和文件系统. 2.可以很容易做到保持原来文件的权限.时间.软硬链接等等. 3.无须特殊权限即可安装. 4.快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 5.在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带

inotify +rsync 实时同步

1.1 inotify简介 inotify是一种强大的,细粒度的,异步的文件系统时间监控机制,Linux内核从2.6.13加入了inotify支持,通过inotify可以监控文件系统汇中添加,删除,修改,移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正式实施这样的监控的软件,国人周洋在金山公司开发了类似的实时同步软件sersync. 1.1.1 安装inotify 在安装inotify-tools前请先确认你的Linux内核是否达