rsync同步
一.rsync概述
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。它的主要特点有:
1.可以镜像保存整个目录树和文件系统;
2.可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;
3.增量同步数据,文件传输效率高,因而同步时间短(第一次全部同步,之后增量);
4.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
5.支持匿名传输,以方便进行网站镜象等;
6.加密传输数据,保证了数据的安全性;<!--more-->
二. 同步本机文件测试
将/Data/scripts/里的数据同步到 /tmp/bak_srcipt/,--delete参数是scripts中有删除的,bak_script中也删除
rsync -vzrtopgu --delete /Data/scripts/ /tmp/bak_srcipt/
增加文件测试:
touch /Data/scripts/test.txt
再运行上面的命令就可以看到把这个新文件传输过去了,没有复制别的文件。
三. 设置定时备份策略
crontab -e
30 5 * * * rsync -vzrtopgu /Data/scripts/ /tmp/bak_srcipt/ #分时日月周
四.不同机器之间备份
在不同机器之间备份首选rsync,这里目标机器没有设置密码,若要设置密码参考 https://www.cnblogs.com/qinshengfei/p/12149158.html
-
目标机器(10.0.90.207)
目标机器需要设置配置文件给源机器设置允许权限(/etc/rsync.conf)
uid = root gid = root max connections = 4 pid file = /var/run/rsyncd.pid log file = /var/log/rsync.log port = 873 [data1] path = /mnt/vdb/data1 max connections = 15 read only = no write only = no list = no ignore errors = yes timeout = 120
-
源机器(10.0.90.30)
rsync -avP /home/5ink_data/ 10.0.90.207::data1/ #rsync -avP 本机文件 目标ip::目标机器配置文件中的[data1]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律