网站首页 > linux / 正文
本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。
如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:
zcwyou.com/h5
1. 前言
很多时候,我们需要在多台设备上同步文件。基于命令行界面的osync,它成为一个理想的文件同步解决方案,可以在三种模式下执行:
- 手动
- 通过计划任务
- 通过守护进程(在新文件更改时触发)
这个基于状态的同步器充当rsync wrapper。Osync被认为是有状态的,因为它没有义务监控目标文件的更改。
在两次运行之间,osync将比较副本文件列表。这些运行可以是本地到本地或本地到远程。本地到本地的复制大约需要2秒,本地到远程的复制大约需要7秒。
2. Osync特性
突出的Osync功能亮点:
- 支持本地到本地同步和本地到远程同步。
- 完整的脚本时间控制。
- 邮件提醒
- 作为守护进程或按计划运行
- 目录的监控
- 日志记录工具
- 通过批处理运行程序处理多个同步任务,并通过重新运行的选项处理失败的同步任务
- 恢复场景处理容错
- 扩展属性和POSIX ACL同步
- 命令执行前/后运行
- 处理多个备份和软删除
如果您需要快速运行,您可能需要禁用某些osync特性,如磁盘空间检查和某此属性。目标器/启动器同步模式也适用于osync。
3. 在Linux安装Osync
osync的稳定或最新版本可以在Github上找到。首先需要安装git,然后才能从Github检索并安装osync文件同步工具。
根据您的Linux操作系统发行版使用以下安装指南之一。
3.1 在基于RHEL的发行版上安装Osync
sudo yum install git
sudo git clone -b "stable" https://github.com/deajan/osync
cd osync
sudo bash install.sh
3.2 在基于Debian的发行版上安装Osync
sudo apt install git
sudo git clone -b "stable" https://github.com/deajan/osync
cd osync
sudo bash install.sh
3.3 在Arch Linux上安装Osync
sudo pacman -S git
sudo git clone -b "stable" https://github.com/deajan/osync
cd osync
sudo bash install.sh
3.4 在OpenSUSE上安装Osync
sudo zypper install git
sudo git clone -b "stable" https://github.com/deajan/osync
cd osync
sudo bash install.sh
当从Github中克隆osync时,从git clone命令中移除-b "stable"选项将获取osync最新的开发版。
4. 如何使用Osync在Linux系统中双向同步文件
如前所述,有三种使用osync的方法。
- 快速同步模式
- 配置文件模式
- 守护进程模式
4.1 使用快速同步方式实现本地到本地和本地到远程文件同步
然而,这种方法对于寻求在目录之间实现快速同步的用户来说很方便。对于本地到本地目录,考虑以下osync语法:
osync.sh --initiator="/path/to/directory1" --target="/path/to/directory2"
以下是一个使用案例:
sudo osync.sh --initiator="/home/zcwyou/filename" –target="/home/zcwyou/filename_Backup"
对于本地到远程目录,您可能需要先为您的机器配置SSH无密码访问。
假设远程服务器的IP为203.18.20.XX
sudo ssh-keygen -t rsa
sudo ssh-copy-id ubuntu@203.18.20.XX
sudo ssh ubuntu@203.18.20.XX
本地到远端实现快速同步的语法如下:
osync.sh --initiator="/path/to/another/directory" --target="ssh://user@host/IP:22//path/to/directory2"
以下是一个使用案例:
sudo osync.sh --initiator="/home/zcwyou/filename" --target="ssh://ubuntu@203.18.20.XX:22//home/zcwyou/filename_remotesync"
osync命令还可以包括以下命令选项,以帮助您诊断严重错误。
--summary --errors-only --no-prefix
使用案例:
osync.sh --initiator="/path/to/another/directory"--target="ssh://user@host/IP:22//path/to/directory2" --summary --errors-only --no-prefix
4.2 配置计划任务自动同步文件
我们可以通过cron作业实现自动化快速同步模式的任务。
sudo su
crontab -e
为本地到本地和本地到远程目录添加以下两个cron计划任务以实现自动化同步文件:
*/5 * * * * osync.sh --initiator="/home/zcwyou/filename" –target="/home/dnyce/filename_Backup"
*/5 * * * * osync.sh --initiator="/home/zcwyou/filename" --target="ssh://ubuntu@203.18.20.XX:22//home/ubuntu/filename_remotesync"
5. 总结
Osync是本地到本地和本地到远程目录理想的双向同步解决方案。它可以实现关键数据的完美备份计划,以防意外删除或损坏文件。
如果喜欢本文,欢迎转发。本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/2091.html
Tags:linux远程复制
猜你喜欢
- 2024-11-26 Linux远程实战入侵攻击,欢迎一起交流
- 2024-11-26 scp文件传输命令详解,每日一命令
- 2024-11-26 Linux 下用 SSH 登录远程服务器后把远程服务器文件传本地电脑
- 2024-11-26 Linux远程连接工具的使用
- 2024-11-26 Linux远程桌面连接使用教程 Widows终端远程连接Linux服务器
- 2024-11-26 Linux 远程操作:用脚本实现自动化 SSH 任务
- 2024-11-26 Linux远程rsync免密同步文件
- 2024-11-26 VSCode使用Remote-ssh搭建连接Linux的详细步骤
- 2024-11-26 远程文件拷贝命令SCP使用探讨
- 2024-11-26 Linux scp命令