Освобождаем место на SSD при помощи Dropbox, Hazel и Python.

На 128Гб SSD не развернёшься, приходится выкручиваться и искать способы сохранить как можно больше свободных гигабайт. Значительную часть занимают приложения для iOS, которые хранятся в папке iTunes. Зачем я их храню на диске?

  1. Приложения имеют свойство пропадать из App Store, даже из Purchases. Из последних - плеер VLC, не первый раз пропадает из App Store.
  2. Приложения обновляются и перестают поддерживать старые версии iOS. Например, минимальные требования для Find My Friends от Apple - iOS8, если до этого человек не скачал приложение, ему остаётся путь через обновление до iOS8.*
  3. Приложения меняют формат монетизации, переходят на In-App Purchase.
  4. Любой другой сценарий.

Понятно, что эти сценарии редкие и могут никогда не произойти. Я предпочитаю снизить возможные риски и храню iOS приложения в iTunes. В этом сценарии есть недостаток - приложения обновляются. Да, некоторые из них найдутся в Time Machine, но для меня это не подходит, есть вероятность пропустить версию.

План

  1. файл загружается в Dropbox,
  2. из файла *.ipa удаляются все большие файлы,
  3. остаётся структура,которую iTunes сможет обновить (когда для приложения выйдет обновление).

Таким образом, я убиваю двух зайцев: храню все версии приложений в Dropbox, приложения занимают значительно меньше места на SSD. Приложения после “обрезания” успешно обновились и загрузились в Dropbox. Полный список приложений занимал 8.5Гб. После работы скрипта - не более 1Гб.

Под капотом

Расскажу как это работает. Установлен Hazel и Dropbox с подпиской на 1Тб. Есть скрипт на python с установленным модулем Dropbox, для закачивания файлов в облако. Пройдёмся по порядку.

Dropbox

Позаботимся, что на Dropbox есть свободное место. Из дополнительных вещей потребуется добавить приложение в разделе Developers, через App Console.

Hazel

Hazel выполняет всю чёрную работу. Настроен на папку

/Users/pavel/Music/iTunes/iTunes Media/Mobile Applications/

активировано 3 правила:

> загрузить \*.ipa в Dropbox,
> занести информацию из \*.ipa в plist файл,
> уменьшить размер \*.ipa.

Во всех случаях Hazel запускает python скрипт, просто с разными параметрами.

Python скрипт

Я не программист, скрипт писался для себя. Решает определённую задачу. Добавить различные исключения и возможные ошибки? этого нет. Для работы скрипта потребуется установить библиотеку Dropbox $ sudo pip install dropbox Так же прописать APIKEY & APISECRET из раздела for developers на сайте Dropbox. После всего этого остаётся разрешить доступ приложения к папке Dropbox. Если вы решитесь на подобный способ и возникнут вопросы по работе - пишите. По настройке скрипта доступна информация. Скрипт размещён на Github.

Mac, Автоматизация