五步轻松搞定Linux下的文件同步(备份)

rsync文件同步配置

server端:主机名s170

client端:主机名s156

目录:/opt/test

用户:root

目标:配置rsync使得client端可以把server的/opt/test目录中的文件同步(备份)过来。

 

操作步骤一:确认rsync是否安装

server端和client端:

 

[root@s156 ~]# yum list rsync
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
Installed Packages
rsync.i386                                                                  3.0.6-4.el5_7.1                                                                   installed
[root@s156 ~]#

 

如果没有安装,则使用下面的命令安装

yum install -y rsync

 

 

操作步骤二:启动rsync服务

server端:

 

[root@s170 mysql]# chkconfig rsync --list
rsync           关闭
[root@s170 mysql]# chkconfig rsync on
[root@s170 mysql]# chkconfig rsync --list
rsync           启用
[root@s170 mysql]#

 

操作步骤三:设置ssh免登录

server端:

 

检查server端的.ssh目录

[root@s170 ~]# cd .ssh/
[root@s170 .ssh]# ls -a
.  ..  known_hosts

 

此步的目的是为了后面确认~/.ssh目录中文件的变化。

 

 

client端:

 

[root@s156 ~]# ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
0b:9d:3e:64:77:17:6a:d8:60:1e:ab:47:42:d1:8e:51 root@s156
[root@s156 ~]#


其中,/root/.ssh/id_dsa 是私钥,/root/.ssh/id_dsa.pub 是公钥。

 

 

现在,将公钥复制到server端。

[root@s156 .ssh]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@s170
21
ssh: connect to host s170 port 22: Connection refused

由于s170机器的ssh服务端口已修改,使用默认的22端口访问失败。
注意:下面的命令行中指定端口的方法。

[root@s156 .ssh]# ssh-copy-id -i ~/.ssh/id_dsa.pub "-p 21702 root@s170"
21
root@s170's password:
Now try logging into the machine, with "ssh '-p 21702 root@s170'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[root@s156 .ssh]#

 

server端:

 

[root@s170 .ssh]# ls -a
.  ..  authorized_keys   known_hosts
[root@s170 .ssh]# cat authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAACBAKUqlhhT8mEj39aKgqgziI/TqYEtaz5epS/gWVTZBmtBiY3hgYK1F+/2ItwmKI85ouIuHN4y0axzsPZv27gkYAt+Qz2AZ+QQ4IthN8cNlPQzZ1dcqtoHzFAJYpgB/HcGh2RUl/mpkHXbllOIpr281nyr+Y9LyC/qF0031A0WegyzAAAAFQDroRvSeqS9mpsJmqm0wZpNbFOSGwAAAIA4j9tGmKQ/40fpfJZ+mC5GyW+nbuL9vYHqCujX7mLku7apCq7MXqXR/s2Q4av2T68J6qR2p84obDnqbCN+H3d+7JFblLjST9WSNGMXEiPZB9lTWFV38n6exJ96rSKfeBkdOUO49MYcNX/mMpypmIHqGfpvuXbQKqWFQH7WLxVAYwAAAIBWTyQiWkkLNZkRzKjjcORtYLHss+QfqvbygXNiZSuijZ+mXyjZ9A5CxU781FsU/NmD+i6qtSr5XVyRRuigIJGWAYZ8IcD2Ct18+WPzapgO6/Ptn9I2a+6dV44MbGTtn4Rax0UaSHzWHsg+G3Kvwh9x5gcvmuoSGeamVpmcsEHjZg== root@s156
[root@s170 .ssh]#

 

注:非对称加密方式下,公钥是可以公开的,而私钥必须妥善保管!

 

 

client端:

 

测试一下免登录ssh。

[root@s156 .ssh]# ssh -p21702 xxx.170
Last login: Sun May 20 11:14:50 2012 from 180.168.215.167
[root@s170 ~]#
[root@s170 ~]# ls
anaconda-ks.cfg  backup  install.log  install.log.syslog  setup
[root@s170 ~]# exit
logout

Connection to s170 closed.
[root@s156 .ssh]#

 

操作步骤四:使用rsync同步文件

server端:

创建测试文件

[root@s170 .ssh]# cd /opt/
[root@s170 opt]# mkdir test
[root@s170 opt]# cd test
[root@s170 test]# ls
[root@s170 test]# cat >1.txt
hello sync
[root@s170 test]#
[root@s170 test]# ls -l
总计 4
-rw-r--r-- 1 root root 11 05-20 17:10 1.txt

 


client端:

 

执行同步

 

[root@s156 .ssh]# cd /opt/
[root@s156 opt]# mkdir test
[root@s156 opt]# cd test
[root@s156 test]# ls
[root@s156 test]# rsync -avR -e ssh s170:/opt/test /    
ssh: connect to host s170 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.6]
[root@s156 test]# rsync -avR -e "ssh -p 21702" s170:/opt/test /             
receiving incremental file list
opt/
opt/test/
opt/test/1.txt

sent 38 bytes  received 142 bytes  360.00 bytes/sec
total size is 11  speedup is 0.06
[root@s156 test]# ls -l
总计 4
-rw-r--r-- 1 root root 11 05-20 17:10 1.txt

 

server端:


又在server端创建了3.txt文件。

[root@s170 test]# cat >3.txt
ddd

ddd
[root@s170 test]#
[root@s170 test]# ls -l
总计 8
-rw-r--r-- 1 root root 11 05-20 17:10 1.txt
-rw-r--r-- 1 root root  9 05-20 17:21 3.txt
[root@s170 test]#

 

client端:

 

注意:这次rsync的参数少了-R,对比一下。
[root@s156 test]# rsync -av -e "ssh -p 21702" s170:/opt/test /
receiving incremental file list
test/
test/3.txt

sent 34 bytes  received 132 bytes  332.00 bytes/sec
total size is 20  speedup is 0.12
[root@s156 test]# ls -l
总计 8
-rw-r--r-- 1 root root 11 05-20 17:10 1.txt

怪了,没有3.txt。

[root@s156 test]# updatedb

[root@s156 test]# locate 3.txt
/test/3.txt
[root@s156 test]#

如果没有-R参数,要像下面这样写。

[root@s156 test]# rsync -av -e "ssh -p 21702" s170:/opt/test /opt
receiving incremental file list
test/
test/3.txt

sent 34 bytes  received 132 bytes  332.00 bytes/sec
total size is 20  speedup is 0.12
[root@s156 test]# ls
1.txt  3.txt
[root@s156 test]#

 

操作步骤五:使用crontab定期执行同步

使用 crontab 执行同步的最小时间粒度为 1分钟,也就是说最长可能要1分钟才能将新增的文件同步。

如果是主备冗余的方式,这问题也不大。

 

client端:

 

crontab -e

* * * * * rsync -avR -e "ssh -p 21702" s170:/opt/test /

 

现在来测试crontab设置是否有效

 

server端:

 

[root@s170 test]# cat >c.txt
hello world
[root@s170 test]#


client端:

 

[root@s156 test]# ls -l
总计 12
-rw-r--r-- 1 root root 11 05-20 17:10 1.txt
-rw-r--r-- 1 root root  9 05-20 17:21 3.txt
-rw-r--r-- 1 root root 12 05-20 18:22 c.txt
[root@s156 test]#

 

成功了!

 

本文链接:http://codingstandards.iteye.com/blog/1539363   转载请注明出处

 

 

PS:存在的问题:

使用crontab方式执行rsync,不能实时同步文件。有文章说道,可以采用inotify实现实时通知同步。下次有空再试验一下。

 

 

 

 

 

 

android 14.0 控制wifi启用禁用功能实现 在14.0的产品rom定制化开发中,在产品开发中,对于功能的开发的功能也是挺多的,而在对于wifi的功能定制需求,有要求需要通过系统属性来控制wifi开关是否可以打开 来控制是否可以连接wifi,打开控制wifi的功能,接下来分析wifi的开启流程来实现该功能的实现 阅读详情

相关推荐

VOF模型求解方法:从SIMPLEC到PISO的稳定性优化策略

本文深入探讨了VOF模型求解方法中SIMPLEC与PISO算法的稳定性优化策略,重点分析了两种算法在稳态和瞬态问题中的应用差异。通过对比PRESTO离散化方法与其他格式的优劣,提供了针对多相流模拟的实用设置建议和稳定性优化技巧,帮助工程师有效提升计算效率和精度。

yellow的专栏 1153

linux的文件同步(rsync)

linux的文件同步(rsync)

demonXwire的博客 3506

使用ST-LINK烧录stm32教程说明

使用ST-LINK烧录stm32

qq_34426854的博客 1万+

Linux如何实现自动文件同步?

一、基础环境 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 本文是利用rsync实现在不同Linux服务器上的文件进行周期同步,有A、B两台服务器,A的IP为192.168.204.206,B的IP为192.168.204.204; 》A、B服务器的系统版本: cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 》默认Ce

qq_34408400的博客 9099

机器学习-02 模型的评估与选择

2.1 误差与过拟合 我们将学习器对样本的实际预测结果与样本的真实值之间的差异成为:误差(error)。定义: 在训练集上的误差称为训练误差(training error)或经验误差(empirical error)。 在测试集上的误差称为测试误差(test error)。 学习器在所有新样本上的误差称为泛化误差(generalization error)。 显然,我们希望得到的是在新样本上表现得很好的学习器,即泛化误差小的学习器。因此,我们应该让学习器尽可能地从训练集中学出普适性的“一般特征”,这

一个小白 1703

如何在SendWS实现WhatsApp批量群发设置管理?WhatsApp群发超链有什么好处?

WhatsApp群发顾名思义就是对WhatsApp上的用户好友进行群发消息,给他们群发想要发送的消息。及时不认识对方也可以对他进行群发超链。越来越多做跨境出海运营的工作者利用WhatsApp进行营销推广,因为他能做到低成本高回报,向客户发送消息曝光自己的品牌或产品,使得更多人了解,拓展新客户,提高成交率。

SendWS-WS云控群控拓客聊天翻译 1169

linux系统中,本机与远程主机之间文件和目录同步的多种方法

在Linux系统中,文件和目录同步常用方法有: Rsync支持压缩传输、增量传输、删除多余文件。SSH工具使用`scp或rsync来同步文件和目录。SFTP用于通过网络传输文件. FTP. WebDAV,可以像操作本地文件一样操作远程文件。Unison用于双向同步文件和目录的工具,多个主机之间同步文件和目录,可处理冲突。Syncthing使用P2P(点对点)协议进行通信,不需中央服务器。 cron作业,可设置cron作业来自动定期执行文件同步任务。同步工具File synchronization。

weixin_70208651的博客 4166

AHB2eflash 控制器设计笔记

① SRAM② DRAM③ SSD④ SATA⑤ U 盘⑥ 移动硬盘⑦ 机械磁盘eflash。

weixin_46220498的博客 3077

Linux(23)——文件的传输与同步

如何在不同的系统直接安全的进行文件传输与文件同步。

m0_68756914的博客 1650

Java Swing教程-16. Swing中的图形绘制

这篇教程介绍了Java Swing中的图形绘制功能,主要内容包括: Graphics类的基本使用 - 介绍了如何重写paintComponent方法实现自定义绘制,以及基本图形绘制方法(线条、矩形、椭圆、多边形等) 文本与图片绘制 - 讲解了文本绘制方法、字体设置和图片加载绘制技术 颜色与字体设置 - 包括预定义颜色、RGB自定义颜色、透明色设置以及字体样式控制 案例实现 - 提供了一个简单绘图程序的框架,支持鼠标绘制不同图形、选择工具和自定义颜色等功能 教程通过代码示例详细演示了各种绘图操作,适合Java

无 232

7.29华为OD机试真题 新系统 - 能量对撞 (Java/Py/C/C++/Js/Go)

7.29华为OD机试真题 新系统 - 能量对撞 (Java/Py/C/C++/Js/Go)

算法大师! 1315

Linux备份之同步方案总览

一、背景 某次与同事讨论Linux运维中的备份解决方案,一般日常为简单省事,采用脚本计划性备份到本地,有的会scp到异地;该同事刚好项目遇到底层磁盘阵列60多块盘集体故障的事,遂就谈到如何保证数据的高可用,除了底层做RAID外,上层LVM,其他的呢?于是,就谈到,可以写一份数据到某一服务器,然后通过技术手段异步到异地,最好实时,最好可增量备份,最好可去重,自带数据一致性监测机制。于是,就有了本文以下整理汇总;关于备份数据源和目标数据一致性监测机制,异步实施传输问题,烦请相关经验的同学路过,各抒己见,讨论交流

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 3443

基于YOLOv8的端面小目标计数解决方案: 多头检测器+小缺陷到大缺陷一网打尽的GiraffeDet+Wasserstein Distance Loss | 助力工业小目标缺陷检测

端面小目标计数部署解决方案 | 亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.936提升至0.955

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1954

五步轻松搞定Linux下的文件同步

为什么80%的码农都做不了架构师?>>> ...

weixin_34376562的博客 153

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

如何用Rufus轻松制作万能启动盘:新手也能掌握的完整指南

还在为制作启动盘而烦恼吗?无论你是需要安装Windows系统、创建Linux Live USB,还是制作DOS启动盘,Rufus都能帮你一键搞定。这款开源免费的USB格式化工具,凭借其强大的功能和简洁的界面,已经成为全球数百万用户的首选工具。今天,我将为你详细介绍Rufus的五大核心功能,并提供从入门到精通的完整操作指南。 ## 🔍 为什么你需要Rufus? 在数字时代,启动盘制作是每个电脑

gitblog_00063的博客 217

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

微信聊天记录永久保存终极指南:三步轻松备份你的数字记忆

你是否曾担心更换手机或误删微信后,那些珍贵的聊天记录会永远消失?与家人的温馨对话、朋友的贴心建议、工作中的重要讨论,这些数字记忆难道只能随着时间流逝而遗忘?今天,我要向你介绍一款改变游戏规则的工具——WeChatMsg,它能让你的微信聊天记录**永久保存**,还能生成精美的年度报告,真正实现"我的数据我做主"的梦想。 ## 为什么你需要掌控自己的聊天数据?🤔 在数字时代,微信已经成为我们生活

gitblog_01161的博客 984

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

MDBTools终极指南:轻松搞定Microsoft Access数据迁移的完整教程

想要在Linux或macOS系统上读取Microsoft Access数据库文件吗?MDBTools正是您需要的终极解决方案!😊 作为一套功能强大的开源工具集,MDBTools让您能够在*nix环境中无缝访问和操作Access数据库,彻底告别平台限制。 ## 什么是MDBTools?🤔 MDBTools是一套专门设计用于在Linux、macOS和其他Unix-like系统上读取Micros

gitblog_00236的博客 949

5步轻松搞定B站视频下载:BilibiliDown新手完全指南

想要永久保存B站上的精彩视频内容吗?BilibiliDown是一款免费开源的跨平台B站视频下载工具,支持Windows、Linux和macOS三大操作系统,让你轻松下载任何B站视频。无论你是想收藏喜欢的UP主视频、备份学习教程,还是离线观看精彩内容,这款工具都能帮你实现。本文将从零开始,带你快速掌握BilibiliDown的核心功能和使用技巧。 ## 🚀 第一步:快速安装与启动 Bilibi

gitblog_00229的博客 219

三步轻松搞定Jable视频下载:免费开源工具完整指南

你是否曾经遇到过这样的情况:在Jable.tv上找到了喜欢的视频,想要保存下来离线观看,却发现平台不提供下载功能?或者网络环境不稳定,在线观看总是卡顿?又或者想要建立自己的媒体库,却苦于没有合适的工具?别担心,今天我要为你介绍一款简单实用的Jable视频下载工具,让你轻松解决这些问题。 ## 第一步:遇见问题 - 为什么需要Jable视频下载工具? 想象一下,你正在学习一门专业课程,Jable

gitblog_00658的博客 1116

5分钟学会用Rufus制作Windows系统启动盘:小白也能轻松搞定

你是不是也遇到过电脑系统崩溃需要重装,或者想给新电脑安装操作系统,却不知道从哪里开始?今天我要介绍一款超级实用的工具——Rufus,它能帮你轻松创建可启动的USB安装盘,让你告别繁琐的系统安装过程!🛠️ Rufus(The Reliable USB Formatting Utility)是一款免费开源的USB格式化工具,专门用于制作可启动的USB设备。无论是Windows、Linux还是各种救

gitblog_00177的博客 1011

fre:ac音频转换器终极指南:5步轻松搞定音乐格式转换

还在为不同设备间的音频格式兼容性烦恼吗?fre:ac免费音频转换器为您提供了一站式解决方案!这款开源工具不仅能轻松转换MP3、FLAC、AAC等主流音频格式,还集成了CD抓轨、标签编辑和批量处理功能。无论您是音乐爱好者还是内容创作者,fre:ac都能帮助您高效管理音频文件。 ## 🎵 为什么选择fre:ac音频转换器? 在众多音频工具中,fre:ac凭借其**完全免费**、**开源透明**和

gitblog_00071的博客 414

5分钟搞定Linux无线网卡驱动:RTL8188EU开源驱动终极指南

还在为Linux系统无法识别你的无线网卡而烦恼吗?RTL8188EU开源驱动项目就是为你准备的完美解决方案!这个专门针对Realtek RTL8188EU芯片的独立驱动程序,让Linux系统也能轻松识别和使用这款常见的USB无线网卡。无论你是Ubuntu、Debian还是其他Linux发行版的用户,通过本指南都能快速完成驱动安装,告别网络连接困扰。 ## 项目简介:解决Linux无线网卡兼容性痛

gitblog_00701的博客 792

BiliTools终极指南:三步轻松搞定B站资源下载与管理

还在为喜欢的B站视频无法保存而烦恼吗?想要离线观看教程、收藏番剧、或者备份珍贵的弹幕文化?BiliTools哔哩哔哩工具箱正是为你设计的跨平台解决方案。这款基于Tauri框架开发的工具,让你能够轻松下载和管理B站的各种资源,无论是视频、音频、弹幕还是字幕,都能一站式搞定。 ## 为什么你需要BiliTools? 在日常使用B站的过程中,你可能会遇到这些痛点: - **网络不稳定**:在地铁、

gitblog_00842的博客 150

终极USB启动盘制作工具Rufus:轻松搞定系统安装的完整指南

你是否曾因为Windows 11的硬件限制而无法升级系统?或者为了制作一个简单的启动盘而四处寻找复杂工具?今天我要介绍的Rufus,正是解决这些烦恼的完美答案。这款免费开源的USB启动盘制作工具,能够让你在几分钟内创建出支持Windows、Linux、DOS等多种操作系统的可启动U盘,更重要的是,它能帮你绕过Windows 11的TPM 2.0、安全启动等硬件限制,让老电脑也能焕发新生。 作为一

gitblog_00027的博客 508
上一篇: 史上最详细MySQL5.5复制配置步骤,与以前版本的有所不同
下一篇: 在Linux下怎么看网络流量?方法太多了
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值