Виключити папки за допомогою регулярного виразу (?) З резервної копії часу


6

Я використовую сервер Time Machine для своїх резервних копій. Тим часом я розробляю безліч веб-додатків, де проект зазвичай складається з папки з файлами додатків, які я хочу створити node_modules папку (зовнішні бібліотеки) Я не хочу робити резервну копію. Іншими словами, структура папок, напр. є:

projects
-- app1
---- src
---- node_modules -- I want to ignore only this folder
---- package.json
-- app2
---- whatever-else
---- node_modules -- I want to ignore only this folder
---- package.json
---- elephant.jpg

і т.д.

Кількість заявок велика і зростає (в даний час більше 20), розмір node_modules папка, як правило, у тисячі разів більша, ніж інша частина проекту: розмір величезний і кількість файлів теж.

Як виключити все node_modules папки у всій системі (наприклад, .gitignore але для машини часу)? Чи є спосіб зробити це за допомогою маски? Я просто не хочу додавати папку для виключених папок вручну весь час.

Я також добре з крон скрипт, який шукає нові папки кожні N хвилин і робить їх ігнорувати.

Чи є рішення для цього?


Якщо у моїй відповіді виникла проблема, натисніть позначку під моєю відповіддю, щоб позначити ваше питання як вирішене.
Hydraxan14

Відповіді:


9

Ви можете знайти і виключити всі node_modules папки з поточного шляху, напр. у вашому домашньому каталозі ( ~ ), подобається це:

$ find `pwd` -maxdepth 3 -type d -name 'node_modules' | xargs -n 1 tmutil addexclusion

Престижність до @peterdemartini: https://gist.github.com/peterdemartini/4c918635208943e7a042ff5ffa789fc1

Зауважте, що виключені папки не відображатимуться в налаштуваннях системи Time Machine або під час виконання цієї команди:

$ defaults read /Library/Preferences/com.apple.TimeMachine.plist SkipPaths

Під час використання цієї команди ( tmutil addexclusion ), елемент, який ви виключаєте, залишається у списку виключень "Машина часу", навіть якщо ви переміщуєте його, що не відбувається, якщо ви виключаєте елементи з панелі налаштувань машини машини. Якщо ви використовуєте вищезгадану команду з прапором -p, то вона не буде липкою і буде такою ж, як і виключення, яке ви додаєте з панелі налаштувань Time Machine.

https://www.macworld.com/article/2033804/control-time-machine-from-the-command-line.html


1
Якщо ви хочете побачити вичерпний список того, що ігнорується, ви можете запустити sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'" (кредит на apple.stackexchange.com/questions/25779/… )
CWSpear

4

Reddit Post

Я знайшов Reddit Post . Це те, що ви шукаєте?

За нормальних обставин Time Machine запускається сама під час резервування   диск підключено або через годину після останньої резервної копії,   що станеться останнім. Те ж саме можна досягти і при запуску   демон вашого власного. Ви б створили файл у /Library/LaunchDaemons/local.tmupdate.plist і встановити його вміст   щось на зразок цього.

Потім ви встановите сценарій /usr/local/bin/tmupdate.sh очистити   старий список виключень, відновити його з новими, потім ініціювати   сама резервна копія:

#!/bin/sh
defaults delete /Library/Preferences/com.apple.TimeMachine.plist SkipPaths
mdfind 'kMDItemUserTags == "No Backup"' -0 | xargs -0 tmutil addexclusion
tmutil startbackup --auto

для цього потрібно вручну позначити файли або папку з назвою тега No Backup. Я думаю, що це дуже посібник
Gianfranco P.

2

Відродження старої посади, але в той час, як шукаючи ту же річ я закінчився пробую це інструмент під назвою Асімов , і це відмінно працювало для мене.

Асимов сканує каталоги, які шукають node_modules (nodeJs) або vendor (php composer), а потім автоматично виключати з наступного резервного копіювання TimeCapsule. Також буде додано завдання cron для оновлення цих виключень.

Сподіваюся, що це допоможе комусь.


Ласкаво просимо до Super User! Чи можете ви трохи розширити свою відповідь? Просто вказуючи на продукт, насправді не пояснюють, як виконати рішення. Краще включити деякі інструкції щодо використання продукту для вирішення проблеми, або принаймні описати те, що робить продукт хорошим рішенням, забезпечуючи цінність поза випадковим хітом Google. Хороші рекомендації щодо рекомендованого програмного забезпечення тут: meta.superuser.com/questions/5329/… . Дякую.
fixer1234
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.