使用rsync:
这里两台服务器之间增加密钥来登录,避免每次同步输入密码。ssh-keygen -t rsa 生成密钥,ssh-copy-id root@192.168.1.20
不部署服务端的情况下:rsync -ave ssh /opt/data root@192.168.1.20:/opt/data,这里就是表示把本地/opt/data 同步到另外一台服务器192.168.1.20上,参数:-a 选项表示归档模式,-v 选项表示显示详细输出,-e 选项用于指定远程shell程序。
最后加入配合计划任务crontab 或者 使用inotify来进行定时同步
使用nfs:
1.部署nfs服务端
使用yum或者apt安装nfs-utils和rpcbind软件包
2.创建共享目录
mkdir /opt/data
3.修改配置:
vi /etc/exports
/opt/data *(rw,sync,no_root_squash,no_all_squash)
4. 启动:
systemctl start nfs-server
5.挂载
在另外一台服务器上
mount -t nfs 192.168.1.100:/opt/data /mnt/nfs
6. 设置自动挂载
vi /etc/fstab
192.168.1.100:/opt/data /mnt/nfs nfs defaults 0 0
1.Rsync:Rsync是一种远程和本地文件同步工具,使用算法最小化复制的数据量,只移动已更改的文件部分。您可以使用rsync命令在本地和远程系统之间同步文件
2.Unison:Unison是一个简单的命令行工具,可用于在Linux机器之间同步文件
3.FreeFileSync:FreeFileSync是一款免费的开源数据备份软件,可帮助您在Windows、macOS和Linux上比较和同步文件和文件夹
是的,Linux有同步工具可以实现两台电脑在局域网文件同步。其中一种常用的工具是rsync。
Rsync是一个用于同步本地和远程文件系统的工具,它可以在本地和远程系统之间镜像文件和目录。Rsync通过增量备份方式只同步有变动的文件,有效节省了网络带宽和同步时间。Rsync还支持自定义同步策略,可以根据需要选择同步的文件或目录。
要在Linux中使用rsync进行文件同步,可以按照以下步骤进行操作:
在源电脑上安装rsync软件包。在大多数Linux发行版中,可以通过包管理器(如apt、yum等)来安装rsync。例如,在Ubuntu上可以使用以下命令来安装rsync:
|
sudo apt update |
|
sudo apt install rsync |
在源电脑上创建一个用于同步的脚本文件。可以使用任何文本编辑器创建一个新的脚本文件,例如sync.sh
。
在脚本文件中添加以下内容:
|
|
|
# 源电脑IP地址和同步目录 |
|
SOURCE_IP="192.168.0.1" |
|
SOURCE_DIR="/path/to/source/directory" |
|
# 目标电脑IP地址和同步目录 |
|
DEST_IP="192.168.0.2" |
|
DEST_DIR="/path/to/destination/directory" |
|
# 使用rsync命令进行同步 |
|
rsync -avz --delete $SOURCE_DIR root@$SOURCE_IP:$DEST_DIR |
请确保将SOURCE_IP
和SOURCE_DIR
替换为源电脑的IP地址和要同步的目录路径,将DEST_IP
和DEST_DIR
替换为目标电脑的IP地址和目标目录路径。这个脚本使用rsync命令进行全量同步,并删除目标目录中源目录中不存在的文件。
4. 保存脚本文件并给予执行权限。使用以下命令来保存脚本文件:
|
chmod +x sync.sh |
在源电脑上运行脚本文件进行同步操作。在终端中输入以下命令来运行脚本:
|
./sync.sh |
这将触发同步操作,将源目录中的文件同步到目标目录中。
6. 在目标电脑上确保已安装rsync软件包,并创建用于接收同步文件的目录。例如,创建一个名为sync_directory
的目录:
|
mkdir /path/to/sync_directory |
在目标电脑上运行以下命令来监听源电脑的同步请求:
|
rsync --daemon --config=/etc/rsyncd.conf --port=873 --log-file=/var/log/rsyncd.log |
这将启动rsync守护进程,并监听873端口等待同步请求。你需要将/etc/rsyncd.conf
替换为实际的rsync配置文件路径,并根据需要调整其他参数。请确保以root用户身份运行此命令。
8. 在源电脑上运行以下命令来启动同步操作:
|
rsync -avz --delete --rsync-path="sudo rsync" --port=873 $SOURCE_DIR/ root@$DEST_IP::sync_directory/ |
这将启动同步操作,将源目录中的文件通过rsync守护进程传输到目标电脑上。请确保将SOURCE_DIR
替换为实际的源目录路径,将DEST_IP
替换为目标电脑的IP地址,将sync_directory
替换为目标电脑上的同步目录名称。
加入交流群
请使用微信扫一扫!