За эти годы я заметил некоторые проблемы с rsync и .gvfs. Обычно я просто --exclude=.gvfs
в своей команде rsync и называю это днем.
Недавно я решил прочитать справочную страницу rsync сверху вниз слева направо. В конце концов, какой лучший способ учиться? Справочные страницы работают быстрее, чем поиск в Google, если вы спросите меня. Я заметил флаг -x, который цитировался, чтобы не пересекать другие файловые системы. Я начал задаваться вопросом, что именно это означает и подумал ... -x также проигнорирует .gvfs, будучи виртуальной файловой системой? так же, как)
rsync -ax /home/jason /media/externalhdd
????
Да, должно быть то же самое.
Чтобы убедиться в этом: запустите stat
в двух ваших каталогах: /home/jason
и /home/jason/.gvfs
. Выход stat
покажет запись «устройства»:
[jk@pecola ~]$ stat $HOME File: `/home/jk' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 803h/2051d Inode: 5242881 Links: 65 Access: (0755/drwxr-xr-x) Uid: ( 1000/ jk) Gid: ( 1000/ jk) Access: 2012-03-19 11:53:31.209584100 +0800 Modify: 2012-03-19 11:50:42.941630852 +0800 Change: 2012-03-19 11:50:42.941630852 +0800 Birth: -
- это первый элемент в третьей строке. Число отображается дважды: в шестнадцатеричном (суффикс 'h') и в десятичном (суффикс 'd').
Если эти числа различаются в двух каталогах, они считаются на разных устройствах, поэтому опция -x
предотвратит переход rsync в этот каталог.
Я сделал быстрый тест на Ubuntu 18.04 и -x
не исключает .gvfs
.