Как исключить подпапку с диска iCloud в macOS Sierra?

Моя папка «Документы» синхронизирована с диском iCloud, я хочу исключить некоторые вложенные папки из диска iCloud. Есть ли способ добиться этого?

Ответы (10)

обновление 2022: этот метод больше не работает. вам нужно изменить имя каталога на *.nosync, как описано в других ответах.

Добавление одного пустого файла с именем .nosyncв папку предотвратит синхронизацию этой папки.

Вы также можете использовать это как расширение файла для определенных файлов, но обработка папок весьма полезна.

После того, как вы выполнили синхронизацию папки, теперь вы также можете запретить ее синхронизацию на некоторых (или на всех конечных точках) с помощью утилиты с именем Bailiff , если по какой-то причине вы не хотите просто полностью удалять файлы из iCloud и вместо этого хотите чтобы предотвратить следующую "первоначальную" синхронизацию.

что, если вы поместите скрытый файл .nosync в папку, это также остановит синхронизацию папки?
Оно работает! Великолепно! Это действительно останавливает папку. Даже постфактум. Я только что попробовал. +1 от меня
Я также хочу избежать синхронизации папки «сборка». В этом случае я не могу изменить имя этой папки.
В заключение! Я поместил пустой файл iCloud.nosync (не люблю невидимые файлы) в каждую папку, которая мне не нужна в iCloud, главным образом потому, что мой старый верный BBEdit дает сбой каждый раз, когда я пытаюсь открыть или выполнить поиск в одном из облачных файлов. . Работает мгновенно, мир вернулся.
Это не совсем точно. Каталог продолжает синхронизироваться при добавлении .nosyncфайла; кроме того, iCloud даже ведет себя так, как будто содержимое каталога загружается, и может даже занимать место, хотя я не хочу рисковать потерей пространства, которое никогда не вернется, поскольку я видел много сообщений о том, что пространство никогда не исчезнет. выделение. Каталог будет отображаться в iCloud, хотя и будет пустым. В Finder .nosyncфайл будет считаться «недопустимым», но все остальные файлы будут считаться «загруженными». Это сбивает с толку. Сравните: i.imgur.com/uYybYAK.png
Это не сработало для меня. Я создал пустой файл с именем .nosyncв папке, но все остальное в папке все еще синхронизировалось. Я создал несколько новых файлов в папке, и они были загружены в iCloud Drive. Я использую Мохаве.
Я могу подтвердить, что размещение .nosync в папке НЕ является надежным, поскольку iCloud все еще загружает новый контент. Единственным рабочим решением является добавление «.nosync» в имя папки, что, к сожалению, довольно грязно...
2019-07-12 - это больше не работает. Я пробовал это на High Sierra (10.13.6) и Mojave (10.14.5), и даже с файлами .nosync на каждом Mac новый контент продолжает синхронизироваться. Подпапка с именем «test.nosync» не синхронизируется, равно как и файлы, оканчивающиеся на .nosync. Но это явно далеко не идеально.
Это не сработало.
у меня тоже не получилось ☹️
Я хотел бы увидеть что-то вроде файла «.icloudignore», в котором я могу перечислить файлы и папки (с подстановочными знаками), которые следует игнорировать. Жаль, что не поддерживается :\

Здесь исключены все имена файлов/папок, поэтому, возможно, одно из них можно использовать для обходного пути:

Имя файла:

  • является.DS_Store
  • начинается с(A Document Being Saved
  • содержит .nosync(в любом случае)
  • является.ubd
  • содержит.weakpkg
  • есть tmp(в любом случае)
  • есть .tmp(в любом случае)
  • есть desktop.ini(в любом случае)
  • начинается с ~$
  • есть Microsoft User Data(в любом случае)
  • есть $RECYCLE.BIN(в любом случае)
  • есть iPhoto Library(в любом случае)
  • есть Dropbox(в любом случае)
  • есть OneDrive(в любом случае)
  • есть IDrive-Sync(в любом случае)
  • есть .dropbox(в любом случае)
  • есть .dropbox.attr(в любом случае)
  • есть icon\r(в любом случае)

Расширение (в любом случае):

  • tmp
  • photoslibrary
  • photolibrary
  • aplibrary
  • migratedaplibrary
  • migratedphotolibrary
  • migratedaperturelibrary

Расширение более 2 символов и имя файла~

Источник: реверсивный демон iCloud.

Надеюсь, в будущей версии ОС они позволят нам поместить .nosync в папку, чтобы исключить ее, или иметь .IgnoreList, как у Resilio.

Это полезно, но не могли бы вы также добавить источник к своему ответу?
iCloud Drive также исключает символические ссылки («псевдонимы»).
Может ли кто-нибудь помочь мне с тем же для окон? Исключение файла из синхронизации с .nosync работает, но это не работает для папок... они продолжают нормально синхронизироваться.

Переименуйте папку или файл:

mv fileorfolder fileorfolder.nosync

Создайте символическую ссылку, которая будет синхронизирована:

ln -s fileorfolder.nosync fileorfolder

Повторить на каждой машине.

Хороший! Работает с Magento 2.3.2, за исключением путей 'var/cache', 'var/session', 'var/view_preprocessed/pub/static', 'pub/media/catalog/product/cache', 'pub/static', что значительно сэкономит заряд батареи!
это сработало для меня. Также упоминается здесь 😊
Блестяще!!! И если у вас есть node/npm, вы можете добавить это как одну команду с github.com/HaoChuan9421/nosync-icloud.
1/2: Этот (чрезвычайно полезный) совет все еще работает только с небольшой звездочкой: когда я использовал этот подход на двух компьютерах Mac с Big Sur, символическая ссылка, которую я создал на первом Mac, была синхронизирована через iCloud со вторым Mac, и это было указывающий точно на тот же путь, что и на моем первом Mac. На втором Mac я удалил файл конфигурации, для которого использовал этот рабочий процесс, поэтому, когда я открыл приложение, оно создало новый файл someConfig.nosync, точно так же, как я настроил его на своем первом Mac.
2/2: Короче говоря, похоже, что часть «Повторять на каждой машине» больше не работает / не применяется, потому что, по крайней мере, в настоящее время символическая ссылка синхронизируется через iCloud, поэтому запуск ln -sкоманды на втором Mac либо завершится ошибкой, либо будет перезаписан. существующая символическая ссылка.

Добавление .nosyncфайла в каталог больше не работает.

Каталог должен быть переименован, чтобы содержать .nosync. Более того, согласно этой ветке на Reddit , должна быть возможность связать слова, например my_file.nosync.noindex, чтобы не только пометить файл как несинхронизируемый, но и скрыть его от Spotlight.

Подтверждаю, больше не работает

Разработчики узлов: чтобы добавить пустой файл с именем .nosync в каждую подпапку node_modules, запустите этот сценарий оболочки из родительского каталога:

find . -name node_modules -exec touch {}/.nosync \;
Очень полезно, спасибо! Однако я объединил это с -pruneтем, чтобы только те node_modulesпапки, которые сами не были подпапками другого node_modules, были нацелены, что я обнаружил здесь: unix.stackexchange.com/a/582634
это сработало для вас? сегодня точно не работает.. ;(
Вы правы, Кто-то Особенный, это больше не мешает синхронизации, как описано во многих других комментариях на этой странице. Лучшее решение может быть от Appyx сейчас. Возможно, вы могли бы объединить мою идею с этой, чтобы автоматизировать ее...

Я создал этот рабочий процесс Automator, чтобы сделать это из контекстного меню в Finder https://github.com/tsdexter/iCloud-NoSync .

Похоже, каталоги с именем «tmp» или заканчивающиеся на «.tmp» не синхронизируются. Значок облака с перечеркнутой линией появляется рядом с каталогом вместе со всем, что находится внутри него.

Ответ, который сработал для меня очень хорошо, был добавлен в качестве комментария выше ( https://apple.stackexchange.com/a/335629/117233 ), но ради тщательности я решил добавить фактический код.

Способ, которым это работало для меня, был следующим:

  1. Удалите папку, которую вы не хотите синхронизировать (или переименуйте ее, если содержимое не создается автоматически, например node_modules)
  2. запустите следующее в родительском каталоге выше:
mkdir NAME_OF_FOLDER.nosync && ln -s NAME_OF_FOLDER.nosync NAME_OF_FOLDER

Затем скопируйте содержимое в NAME_OF_FOLDER.nosyncпапку.

Надеюсь, это поможет.

давайте предположим, что у вас есть реактивный/угловой проект, над которым вы работаете и который находится в папке документов, теперь вы хотите синхронизировать все, кроме папки node_modules. как этого добиться.? Будет ли реагировать/угловой распознавать «node_modules.nosync».?

Вы можете, если вы хотите сказать exclude node_modules, сделать a dir/node_modulesв несинхронизированной папке, переместить файлы туда, а затем создать символическую ссылку на ту папку, где были исходные модули узла. Весь код будет работать одинаково, за исключением синхронизации iCloud, которая исключает символические ссылки.

.nosyncне работает для этого, потому что node_modulesего нужно вызывать, node_modulesа также никогда не синхронизировать.

Я просто создаю папки непосредственно в своем доме пользователя, которые я хочу хранить только локально (отдельно от моих папок iCloud).