Debian文件同步怎么操作
导读:Debian文件同步常用方法与操作指南 一、rsync 常用操作 安装与特点 安装:sudo apt-get install rsync 特点:支持本地/远程同步、增量传输、保留权限与时间戳、可断点续传、可压缩传输。适合日常备份与镜像。...
Debian文件同步常用方法与操作指南
一、rsync 常用操作
- 安装与特点
- 安装:sudo apt-get install rsync
- 特点:支持本地/远程同步、增量传输、保留权限与时间戳、可断点续传、可压缩传输。适合日常备份与镜像。
- 本地目录同步
- 命令:rsync -avz /path/src/ /path/dst/
- 说明:源路径使用**/src/(带斜杠)表示同步目录内的内容;-a归档模式,-v详细输出,-z**压缩传输。
- 本地与远程同步(SSH)
- 推送到远程:rsync -avz -e ssh /path/src/ user@192.168.1.100:/path/dst/
- 从远程拉取:rsync -avz -e ssh user@192.168.1.100:/path/src/ /path/dst/
- 常用选项
- –delete:使目标与源保持一致(多余文件会被删除,谨慎使用)
- –exclude=‘*.log’:排除匹配模式的文件
- –dry-run/-n:演练,不真正执行
- –progress:显示传输进度
- –partial:保留中断的临时文件,便于续传
- 定时与自动化
- 将命令写入脚本,使用 crontab -e 定时执行,例如每天 02:00 同步:
- 0 2 * * * /usr/bin/rsync -avz --delete /path/src/ user@192.168.1.100:/path/dst/ > > /var/log/rsync.log 2> & 1
- 将命令写入脚本,使用 crontab -e 定时执行,例如每天 02:00 同步:
二、实时同步方案
- rsync + inotify-tools(近实时)
- 思路:用 inotifywait 监听目录事件,触发 rsync 同步。
- 安装:sudo apt-get install rsync inotify-tools
- 示例脚本(保存为 sync.sh,chmod +x 后运行):
- #!/bin/bash SOURCE_DIR=“/path/src” DEST_DIR=“user@192.168.1.100:/path/dst” inotifywait -m -e modify,create,delete,move --format ‘%w%f’ “$SOURCE_DIR” | while read file; do echo “$(date ‘+%F %T’) change detected: $file” rsync -avz -e ssh --delete “$SOURCE_DIR/” “$DEST_DIR/” done
- 建议配合 nohup 或 systemd 服务托管,确保持续运行与开机自启。
- Syncthing(持续、去中心化、跨平台)
- 安装与启动:
- sudo apt update & & sudo apt install syncthing
- 启动服务(示例):systemctl --user enable --now syncthing.service
- 使用:浏览器访问 http://localhost:8384 添加文件夹与设备,完成点对点自动同步。
- 安装与启动:
三、图形化与跨平台同步
- FileZilla(SFTP 图形化)
- 安装:下载安装 FileZilla(Linux 版本)
- 配置站点:协议选 SFTP - SSH 文件传输协议,填写主机、端口、用户名、密码
- 同步操作:左右面板分别选择本地/远程目录,直接拖拽上传/下载
- 实用设置:启用“同步浏览”;遇到连接问题可切换 主动/被动模式;时间相差 8 小时 常见于时区不一致,可在设置中调整为 UTC 或本地时间。
四、批量分发与集群同步
- 多机批量同步脚本(xsync 封装 rsync)
- 前置:配置 SSH 免密登录(ssh-keygen;ssh-copy-id user@host)
- 思路:用 rsync 对多个主机循环分发,封装为 xsync 脚本,一条命令分发到集群
- 适用:多台 Debian 主机间快速分发配置、安装包或数据目录。
五、rsync 服务端与防火墙要点
- 服务端配置(rsync daemon)
- 配置文件:/etc/rsyncd.conf
- 示例:
- [my_module]
- path = /data/backup
- comment = backup module
- read only = no
- 示例:
- 启动:sudo systemctl start rsync(或 rsync --daemon)
- 配置文件:/etc/rsyncd.conf
- 客户端使用
- 命令:rsync -avz user@host::my_module /local/dst/
- 防火墙
- 放行端口:iptables -I INPUT -p tcp --dport 873 -j ACCEPT
- 安全建议
- 使用 SSH 方式通常更安全;若用 rsync daemon,务必限制可写模块与访问来源,妥善设置认证文件权限。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian文件同步怎么操作
本文地址: https://pptw.com/jishu/778284.html
