海运的博客

rsync/rclone对比目录及同步

发布时间:March 19, 2022 // 分类: // No Comments

rsync使用参数:

-v #详细输出
-i #显示差异
-n/--dry-run #仅测试,配合-i对比目录差异
-a #相当于-rlptgoD,-D相当于--devices和--specials
-r #递归目录
-l #链接文件
-p #同步文件权限
-t #同步修改时间
-g #同步所有者
-o #同步用户组
--devices #同步设备文件
--specials #同步特殊文件,如socket
--delete #删除目标目录在源目录不存在的文件,相当于mirror。
--progress #显示进度和速度
--ignore-existing #不同步目标已存在的文件
--preallocate #预先分配空间,减少碎片
-c #通过文件校验判断差异,默认使用文件大小和修改时间判断差异

对比目录差异:

rsync -n -a -i -v src/ dst/

仅使用文件大小对比差异:

rsync -n -r -i -v --size-only src/ dst/

rsync显示差异格式解读:
https://stackoverflow.com/questions/4493525/what-does-f-mean-in-rsync-logs
https://stackoverflow.com/questions/1113948/rsync-output
https://download.samba.org/pub/rsync/rsync.1

使用rclone同步及比较目录差异:

#默认使用时间和大小对比
rclone sync --dry-run src/ dst/ 
--checksum #使用文件hash对比
#默认使用文件大小和hash对比
rclone check src/ dst/
--size-only #仅使用文件大小对比

https://forum.rclone.org/t/how-to-utilize-mod-time-and-size-instead-checksums-during-sync-and-check/14020/10

inotify配合rsync实时同步备份服务器数据

发布时间:May 21, 2012 // 分类:备份存储 // No Comments

主服务器需安装配置inotify-tools,用于实时监控服务器文件变化。
inotify-tool实时监控并发送文件到rsync从服务器脚本:

#/bin/bash
host=https://www.haiyun.me
src=/var/www/html
dst=www
user=back
passwd=passwd
echo "$passwd" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
inotifywait -mrq -e close_write,create,delete,attrib --timefmt '%d/%m/%y %H:%M' --format '%T %w%f %e' $src\
|while read files 
do
    file=`echo $files|awk '{print $3}'`
    rsync -vzrtopg --delete --progress $file $user@$host::$dst --password-file=/etc/rsync.pass
    echo "$files was rsynced" >> /var/log/rsync.log
done

从服务器配置rsync:

uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock

[www]
path = /home/wwwroot
comment = www file
ignore errors
hosts allow = *
list = false
auth users = onovps
secrets file = /etc/server.pass
read only = no
write only = no
uid = root
gid = root

建立验证文件,root权限可查看:

echo "onovps:passwd" > /etc/server.pass 
chmod 600 /etc/server.pass

启动rsync进程:

rsync --daemon
echo "rsync --daemon" >> /etc/rc.local
分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...