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