Linux下利用Rsync实现文件同步及备份,并查看同步日志 (linuxrsync日志)

在Linux操作系统下,文件同步和备份是一项相当重要的工作。为了实现文件同步和备份的目标,许多人选择使用Rsync工具,并借助其强大的同步和备份功能来完成这项工作。

Rsync是什么?

Rsync(Remote Sync)是一个开源工具,用于实现文件同步和备份。使用Rsync,您可以轻松地将文件从一个位置同步到另一个位置或备份这些文件。它使用增量传输技术,使得只需要复制文件的增量变化,从而减少数据传输的时间和网络带宽的使用。另外,在同步和备份过程中,Rsync还有较为完善的日志记录功能,方便用户追溯操作历史。

在Linux操作系统下,Rsync已经成为了一款非常流行的工具软件,许多Linux管理员和开发者都将其认为是一款必备的软件。在以下的文章中,我们将带领大家学习如何在Linux系统下使用Rsync实现文件同步和备份,并查看同步日志。

Step 1. 安装Rsync

我们需确保已经在Linux系统中安装了Rsync。如果您已经使用过Linux命令行,那么可以直接在终端中输入以下命令来检查是否已经安装Rsync。

“`

rsync –version

“`

如果Rsync已经正确安装,那么终端将会输出Rsync的版本信息。

如果您还没有安装Rsync,可以使用以下命令来安装:

“`

sudo apt-get install rsync

“`

Step 2.同步文件

在安装了Rsync之后,我们便可以开始使用它来同步文件了。使用Rsync进行同步,您需要指定源文件和目的文件夹,同时Rsync也会自动处理增量的变化。例如,您可以使用以下命令来将源文件夹同步到目的文件夹:

“`

rsync -auv /path/to/source /path/to/destination

“`

这里,-a 是指”archive”模式,-u是指跳过已经存在的文件,-v是指在终端输出更多详细信息。在同步过程中,如果文件被修改,那么Rsync将只会传输这个文件的增量变化,而不是传输整个文件。这使得Rsync不仅可以极大地加速同步的速度,而且也会降低数据流量的使用。

Step 3.备份文件

除了功能强大的同步功能之外,Rsync还可以被用于文件的备份。备份功能的使用非常类似于同步功能。您可以使用以下命令来备份文件到一个目的文件夹:

“`

rsync -auv /path/to/source /path/to/backup/folder

“`

在进行备份的场景中,-a 和 -u 选项通常是必选项。-a会将文件的所有权限,所有者和时间信息也一并备份,而-u选项则会跳过已经存在的文件,从而减少闪存和流量的使用。

Step 4.查看同步日志

在完成同步或备份的过程中,Rsync的日志记录功能也非常实用。Rsync的日志记录功能可以追踪操作历史,帮助您确认是否有误或者进行后续的检查。例如,可以使用以下命令来记录同步日志:

“`

rsync -auv –log-file=/path/to/logfile /path/to/source /path/to/destination

“`

在此命令中,我们添加了一个”–log-file”选项,以将同步日志存储到一个文件中,以便于后续的查询和检查。

当您查看同步日志时,可以使用以下命令来输出同步日志:

“`

cat /path/to/logfile

“`

不过,在一个较大的同步任务中,一份非常详细的日志记录可能会变得非常庞大,这会使得日志的查看和管理变得很困难。因此,我们可以使用Rsync自带的过滤选项来对日志进行筛选和过滤。例如,您可以只查看到最近一次同步的内容:

“`

cat /path/to/logfile | grep “sent”

“`

在这个例子中,我们使用了linux命令管道将日志输出流传递至grep工具中,然后使用grep工具来筛选出日志中某个关键字为”sent”的部分。

结论

使用Rsync实现文件同步和备份是一种相对简单高效的方式。Rsync不仅可以减少数据传输的时间和网络带宽的使用,还能记录详细的日志。希望这篇文章可以为您在Linux系统中配置相应的工具提供一些帮助和借鉴。

相关问题拓展阅读:

如何在Linux服务器中实现数据实时同步及备份

科技时代,任何行业都离不开数据的分析以及统筹,如果掌握了最关键的数据及技术,那成功就指日可待,所以数据对于一个企业来说,就是最无形的财富,而一个企业的数据基本都有服务器保存及管理着,如何保证数据安全,实现数据同步及备份?诚恺科技小编就同大家一起来看看在Linux服务器中利用rsync配合inotify实现数据实时同步及备份的方法。

rsync:可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权锋握限、时间、软硬链接等等。之一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。

方案:起初用rsync进行数据备份是利用计划任务,定时执行一下命令实现rsync的同步,但最近开发这边修改比较频繁,看来需要实时同步备份来完善备份机制!所以需要利用inotify触发器来改善!达到一旦指定的位置有了新的变动就将其同步!

环境:

CentOS 6.4 64位

rsync-3.0.9

inotify-tools-3.14

说明:

10.10.1.6 (rsync+inotify)网站程序(/data0/htdocs/)

10.10.1.9 (rsync)—-网站程序备份(/data0/htdocs/)

目的:

实现10.10.1.6的/data0/htdocs/目录下发生任何变动都将实时同步到10.10.1.9的/data0/htdocs/上(另,这两台都跑有keepalived+nginx,来实现昌知出现故障自动切换的容灾,详细配置会在后面补上)

一、web服务器10.10.1.6 (rsync+inotify)

1、准银迅庆备软件包

2、安装Rsync

1)、1234 tar-zxvf rsync-3.0.9.tar.gz

2)、cdrsync-3.0.9

3)、./configure–prefix=/usr/local/rsync

4)、make;makeinstall

建立密码认证文件

# echo “111111”>/etc/rsyncd/rsyncd.secrets建立密码认证文件

*其中111111可以自己设置密码,rsyncd.secrets名字也可以自己设置;

权限:要将/etc/rsyncd/rsyncd.secrets设置为root拥有, 且权限为600。

# chmod 600 /etc/rsyncd/rsyncd.secrets

3、安装inotify

1)、1234 tar-zxvf inotify-tools-3.14.tar.gz

2)、cdinotify-tools-3.14

3)、./configure–prefix=/usr/local/inotify

4)、make;makeinstall

4、创建rsync复制脚本

此项功能主要是将ftp端的目录/data0/htdocs/里的内容,如果修改了(无论是添加、修改、删除文件)能够通过inotify监控到,并通过rsync实时的同步给10.10.1.9的/data0/htdocs里,下面是通过shell脚本实现的。

# vim /root/shell/rsync.sh

# chmod u+x /root/shell/rsync.sh

# setsid /root/shell/rsync.sh &

#后台运行脚本,关闭shell终端继续后台运行

rsync.sh脚本加入开机启动项

# echo “/root/shell/rsync.sh” >> /etc/rc.local

防火墙开启rsync端口:873

添加:

iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 873 -jACCEPT

重启:

# /etc/init.d/iptables restart

二、备份服务器10.10.1.9(rsync)

1、准备工作

创建备份目录:

# mkdir /data0/htdocs

2、安装rsync(备份主机只安装rsync)

1)、1234 tar-zxvf rsync-3.0.9.tar.gz

2)、cdrsync-3.0.9

3)、./configure–prefix=/usr/local/rsync

4)、make;makeinstall

3、建立用户与密码认证文件

# echo “root:111111” > /etc/ rsyncd/rsyncd.secrets

# less /etc/rsyncd/rsyncd.secrets

root:111111

注意:

请记住,在10.10.1.6端建立的密码文件,只有密码,没有用户名;而在10.10.1.9里建立的密码文件,用户名与密码都有。

权限:要将/etc/rsyncd/rsyncd.secrets设置为root拥有, 且权限为600。

#chmod 600 /etc/rsyncd/rsyncd.secrets

4、建立rsync配置文件

# vim /etc/rsyncd/rsyncd.conf

启动rsync服务

# /usr/local/rsync/bin/rsync –daemon –config=/etc/rsyncd.conf

# ps -ef |grep rsync

Rsync服务加入开机启动项

# echo “/usr/local/rsync/bin/rsync –daemon –config=/etc/rsyncd.conf” >> /etc/rc.local

防火墙开启rsync端口:873

添加:

iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 873 -jACCEPT

重启:

# /etc/init.d/iptables restart

完成,其实这个时候数据已经同步了!

测试一下:

由于/data0/htdocs/下涉及到一些公司信息,所以就以/data0/htdocs/tmp/为例

主机名可以区别是两台机器,里面的内容完全一直,连文件的属性都一样

linuxrsync日志的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linuxrsync日志,Linux下利用Rsync实现文件同步及备份,并查看同步日志,如何在Linux服务器中实现数据实时同步及备份的信息别忘了在本站进行查找喔。


数据运维技术 » Linux下利用Rsync实现文件同步及备份,并查看同步日志 (linuxrsync日志)