簡體   English   中英

rsync從Mac到Linux:冒號替換

[英]rsync get from mac to linux: colon replacement

我正在Linux上備份,以便從遠程Apple Mac同步數據以保存在本地。

linux / mac使用“ /”或“:”來定義路徑層次結構,因此,如果mac文件名包含“ /”,則rsync將“ /”替換為“:”以保持安全。

但是,將此備份共享/聯網回到Mac會導致這種麻煩。

有什么辦法可以讓rsync接受另一個字符,即“ _”?

我可以使用

find /path/to/basedir/* -iname "*:*"  | tac |  sed 's/\(.*\):\(.*\)$/mv "&" "\1_\2"/' | sh

但這打破了rsync增量魔術。

謝謝!

不是由rsync進行翻譯; 它是由內核和文件系統API完成的(請參閱前面的問題鏈接的USENIX論文 )。 棘手的字符在MacOS繼承API中顯示為斜線,在Unix繼承API中顯示為冒號。 rsync使用unix-heritage API,因此會出現冒號。

最好的解決方案不是嘗試對字符進行不同的翻譯,而是要找出正在使用的共享/網絡出了什么問題,並找出為什么它沒有進行適當的翻譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM