在Ubuntu中触发数据同步可根据需求选择工具,以下是常见方法及操作:
-
实时同步(基于事件触发)
- inotify + rsync:
- 安装工具:
sudo apt install inotify-tools rsync。 - 编写脚本(如
sync_data.sh),使用inotifywait监控源目录变化,触发rsync同步:#!/bin/bash SOURCE_DIR="/path/to/source" TARGET_DIR="/path/to/target" inotifywait -m -r -e create,delete,modify "$SOURCE_DIR" | while read FILE; do rsync -avz --delete "$SOURCE_DIR/" "$TARGET_DIR/" done - 赋予脚本执行权限并运行:
chmod +x sync_data.sh,./sync_data.sh(可搭配nohup后台运行)。
- 安装工具:
- inotify + rsync:
-
定时同步(基于时间触发)
- cron定时任务:
- 编辑定时任务:
crontab -e。 - 添加规则(如每小时同步一次):
0 * * * * rsync -avz /source/ /target/。
- 编辑定时任务:
- systemd定时器:
- 创建服务文件(如
/etc/systemd/system/sync.service)和定时器文件(如/etc/systemd/system/sync.timer),配置同步命令和触发时间。 - 启用并启动定时器:
sudo systemctl enable --now sync.timer。
- 创建服务文件(如
- cron定时任务:
-
工具自带触发机制
- Syncthing:安装后通过Web界面配置双向同步,支持实时触发。
- Unison:通过配置文件指定同步方向(单向/双向),手动运行命令触发。
根据具体场景选择工具,实时同步适合高频数据变更,定时同步适合周期性任务。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1392533.html