
pass 만 사용해야 합니다 rsync
. 원격 디렉터리를 동기화하지 않고 로컬에서 수행할 수 있습니까? (좋다 sshfs
)
이제 몇 가지 변경된 파일과 그 종속성에 많은 주의가 필요합니다.
rsync -rvul remote local
답변1
내가 만난https://github.com/zaddach/fuse-rsync딱 그런 용도로 설계된 것 같습니다. 이것은 완벽하지는 않으며 아마도 약간의 수정을 거쳐 python2용으로 작성되었을 것입니다.
diff --git a/fuse_rsync.py b/fuse_rsync.py
old mode 100644
new mode 100755
index 1df95fe..e57dfdf
--- a/fuse_rsync.py
+++ b/fuse_rsync.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#Copyright (c) 2014 Jonas Zaddach
#Licensed under the MIT License (https://github.com/zaddach/fuse-rsync/blob/master/LICENSE)
@@ -186,7 +186,7 @@ class FuseRsync(fuse.Fuse):
if path == "/":
st.st_atime = int(time.time())
st.st_ctime = int(time.time())
- st.st_mode = stat.S_IFDIR | 0555
+ st.st_mode = stat.S_IFDIR | 0o0555
st.st_mtime = int(time.time())
st.st_nlink = 2
st.st_uid = os.geteuid()
@@ -209,9 +209,9 @@ class FuseRsync(fuse.Fuse):
st.st_uid = os.geteuid()
st.st_gid = os.getegid()
if info["attrs"] & stat.S_IFDIR:
- st.st_mode = stat.S_IFDIR | 0555
+ st.st_mode = stat.S_IFDIR | 0o0555
else:
- st.st_mode = stat.S_IFREG | 0444
+ st.st_mode = stat.S_IFREG | 0o0444
st.st_mtime = timestamp
st.st_nlink = 1
st.st_size = info["size"]
python3에서 작동하도록 할 수 있습니다( fuse
python3 모듈 필요( python3-fuse
Debian 기반 시스템의 패키지)).
$ python3 ./fuse_rsync.py ~/mnt -o host=rsync.zsh.org -o module=pub
$ ls -lF ~/mnt
total 3
dr-xr-xr-x 1 chazelas chazelas 2 Jan 26 2019 development/
dr-xr-xr-x 1 chazelas chazelas 7 Apr 16 2009 GPL/
-r--r--r-- 1 chazelas chazelas 426 May 17 2022 MD5SUM
dr-xr-xr-x 1 chazelas chazelas 329 May 14 2022 old/
-r--r--r-- 1 chazelas chazelas 488 May 14 2022 zsh-5.9-doc.tar.xz.asc
-r--r--r-- 1 chazelas chazelas 488 May 14 2022 zsh-5.9.tar.xz.asc