ubuntu 同步文件 两台ubuntu之间传文件
大家好,关于ubuntu 同步文件很多朋友都还不太明白,今天小编就来为大家分享关于两台ubuntu之间传文件的知识,希望对各位有所帮助!
利用syncthing实现同设备不同文件夹实时同步
以前写过一篇syncthing在windows和linux下的安装与使用: syncthing搭建私人网盘分享,但是,syncthing只支持不同设备的文件夹同步,如果想实现同设备的不同文件夹的实时同步该咋办呢?
syncthing只支持不同设备间的文件同步,如果想实现同个设备下文件的实时备份,可以借助docker容器实现这个需求,本机上安装syncthing,docker里也安装一个,然后映射到本地文件夹,这样就相当于两个设备之间同步,实现了同个设备间的同步问题。
上面的文章中已经介绍过本机安装syncthing的步骤,这里就不多赘述,下面介绍下docker安装syncthing的步骤。
如上图第二条是官方开源镜像
如果我们本地原先装过syncthing的话,8384和22000端口肯定是有占用的了,所以上面这条命令用8385映射docker里面的8384,22001映射docker里面的22000,用本机的/home/zhaohy/myspace/syncthingDocker文件夹映射docker里面默认存储的/var/syncthing文件夹。
浏览器访问就可以访问docker里面的syncthing设置页面了,注意设置同步文件夹的时候docker里面的文件夹要用/var/syncthing路径下的,其他操作就和第一篇文章里面讲的一样了。
如果想进入docker里的syncthing容器则执行 docker exec-it syncthing/bin/sh即可,exit命令退出容器。
这样就能在本机上同步不同文件夹了,比如ubuntu下面的/home目录,可以实时同步到外接移动硬盘上就不怕哪天挂掉丢失资料啦(以防万一,ubuntu还没挂过!)。
Linux中使用数据备份同步工具Rsync的实例教程
对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件。
Rsync同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议,它可以复制或者显示目录并复制文件。rsync默认监听TCP 873端口,通过远程shell如rsh和ssh复制文件。同时要求必须在远程和本地系统上都安装sync。
Linux上如果没有安装,装起来也很简单:
复制代码
代码如下:
# sudo apt-get install rsync#在debian、ubuntu等在线安装方法;
# yum install rsync#Fedora、Redhat等在线安装方法;
# rpm-ivh rsync#Fedora、Redhat等rpm包安装方法;
rsync的主要优点是:
速度:最初会在本地和远程之间拷贝所有内容。下次,只会传输发生改变的块或者字节。
安全:传输可以通过ssh协议加密数据。
低带宽:rsync可以在两端压缩和解压数据块。
sync命令语法:
复制代码
代码如下:
#rsysnc [options] source path destination path
以下将根据sync的参数和应用场景来给大家介绍具体的用法:
示例: 1-启用压缩
复制代码
代码如下:
[root@localhost/]# rsync-zvr/home/aloft//backuphomedir
building file list... done
.bash_logout
.bash_profile
.bashrc
sent 472 bytes received 86 bytes 1116.00 bytes/sec
total size is 324 speedup is 0.58
上面的rsync命令使用了-z来启用压缩,-v是可视化,-r是递归。上面在本地的/home/aloft/和/backuphomedir之间同步。
示例: 2-保留文件和文件夹的属性
复制代码
代码如下:
[root@localhost/]# rsync-azvr/home/aloft//backuphomedir
building file list... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speedup is 0.53
上面我们使用了-a选项,它保留了所有人和所属组、时间戳、软链接、权限,并以递归模式运行。
示例: 3-同步本地到远程主机
复制代码
代码如下:
root@localhost/]# rsync-avz/home/aloft/ azmath@192.168.1.4:192.168.1.4:/share/rsysnctest/
Password:
building file list... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speedup is 0.53
上面的命令允许你在本地和远程机器之间同步。你可以看到,在同步文件到另一个系统时提示你输入密码。在做远程同步时,你需要指定远程系统的用户名和IP或者主机名。
示例: 4-远程同步到本地
复制代码
代码如下:
[root@localhost/]# rsync-avz azmath@192.168.1.4:192.168.1.4:/share/rsysnctest//home/aloft/
Password:
building file list... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speedup is 0.53
上面的命令同步远程文件到本地。
示例: 5-找出文件间的不同
复制代码
代码如下:
[root@localhost backuphomedir]# rsync-avzi/backuphomedir/home/aloft/
building file list... done
cd+++++++ backuphomedir/
f+++++++ backuphomedir/.bash_logout
f+++++++ backuphomedir/.bash_profile
f+++++++ backuphomedir/.bashrc
f+++++++ backuphomedir/abc
f+++++++ backuphomedir/xyz
sent 650 bytes received 136 bytes 1572.00 bytes/sec
total size is 324 speedup is 0.41
上面的命令帮助你找出源地址和目标地址之间文件或者目录的不同。
示例: 6-备份
rsync命令可以用来备份linux。
你可以在cron中使用rsync安排备份。
复制代码
代码如下:
0 0***/usr/local/sbin/bkpscript/dev/null
vi/usr/local/sbin/bkpscript
rsync-avz-e ssh-p2093/home/test/ root@192.168.1.150:/oracle/data/
rsync增量传输大文件优化技巧:
问题:
rsync用来同步数据非常的好用,特别是增量同步。但是有一种情况如果不增加特定的参数就不是很好用了。比如你要同步多个几十个G的文件,然后网络突然断开了一下,这时候你重新启动增量同步。但是发现等了好久都没有进行数据传输,倒是机器的IO一直居高不下。
原因:
rsync具体的增量同步算法不太清楚。根据它的表现来看,可能在增量同步已经存在的一个文件时,会校验已传输部分数据是否已源文件一致,校验完成才继续增量同步这个文件剩下的数据。所以如果对一个大文件以这样的算法来增量同步是非常花时间并且占用IO资源的。
方法:
半夜花了一个多小时查看了rsync的文档,发现有一个参数能快速恢复大文件的增量同步,append。设置append参数会在增量同步时计算文件大小并直接追加新的数据到文件,这样就省了费IO校验的过程。不过这个参数最好只在源文件和目标文件都不会更改的时候使用比较安全,比如备份的文件。
我不是网管 - Ubuntu 上安装 FreeFileSync 同步工具
在Ubuntu 22.04上安装FreeFileSync同步工具的步骤如下:
FreeFileSync是一款强大的跨平台文件同步工具,适用于Windows、Linux和Mac,旨在确保数据的一致性。本文将指导你在Ubuntu系统中安装这款实用软件。
首先,确保你的系统是最新的,通过执行以下命令更新软件包列表:
sudo apt-get update
由于FreeFileSync不在Ubuntu官方存储库中,需要从官网下载安装。访问官方页面,下载Linux版本的tarball文件,如需使用wget命令:
sudo wget [download_link]-O freeFileSync.tar.gz
下载完成后,解压文件:
sudo tar-xvf freeFileSync.tar.gz
安装文件带执行权限,无需额外处理。运行安装脚本:
sudo./freeFileSync-.run
安装过程中,你会看到许可协议,按提示接受并继续。安装完成后,桌面会出现两个图标:
右键点击图标,选择'允许启动'激活它
图标变为绿色后,双击即可启动FreeFileSync
启动后,你可以使用FreeFileSync同步文件,如从源文件夹到目标文件夹:
在'浏览'部分选择源文件夹,然后选择目标同步目录,点击'Synchronize'按钮
启动同步过程,可能需要时间,期间会显示进度
同步完成后,确认源和目标文件夹内容一致
这样,你就成功在Ubuntu上安装并使用了FreeFileSync进行文件同步。