Compare commits
No commits in common. "eb0549a5111ad8b54a0a24cf3cab8dcad6d13d1c" and "e8c586aad585e9e801f6a9692e7edc34bd45b1b3" have entirely different histories.
eb0549a511
...
e8c586aad5
@ -1,9 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# script originally found at
|
||||
# https://gist.github.com/pwnsdx/1217727ca57de2dd2a372afdd7a0fc21
|
||||
# thanks to @pwnsdx
|
||||
|
||||
# IMPORTANT: Don't forget to logout from your Apple ID in the settings before running it!
|
||||
# IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
|
||||
# This script needs to be run from the volume you wish to use.
|
||||
@ -19,192 +15,156 @@
|
||||
TODISABLE=()
|
||||
|
||||
# iCloud
|
||||
TODISABLE+=( \
|
||||
'com.apple.cloudd' \
|
||||
'com.apple.cloudpaird' \
|
||||
'com.apple.cloudphotosd' \
|
||||
'com.apple.followupd' \
|
||||
TODISABLE+=('com.apple.security.cloudkeychainproxy3' \
|
||||
'com.apple.iCloudUserNotifications' \
|
||||
'com.apple.icloud.findmydeviced.findmydevice-user-agent' \
|
||||
'com.apple.icloud.fmfd' \
|
||||
'com.apple.icloud.searchpartyuseragent' \
|
||||
'com.apple.protectedcloudstorage.protectedcloudkeysyncing' \
|
||||
'com.apple.security.cloudkeychainproxy3' \
|
||||
)
|
||||
'com.apple.cloudd' \
|
||||
'com.apple.cloudpaird' \
|
||||
'com.apple.cloudphotosd' \
|
||||
'com.apple.followupd' \
|
||||
'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
|
||||
|
||||
# Safari useless stuff
|
||||
TODISABLE+=( \
|
||||
TODISABLE+=('com.apple.SafariBookmarksSyncAgent' \
|
||||
'com.apple.SafariCloudHistoryPushAgent' \
|
||||
'com.apple.WebKit.PluginAgent' \
|
||||
'com.apple.SafariBookmarksSyncAgent' \
|
||||
)
|
||||
'com.apple.WebKit.PluginAgent')
|
||||
|
||||
# iMessage / Facetime
|
||||
TODISABLE+=( \
|
||||
'com.apple.avconferenced' \
|
||||
TODISABLE+=('com.apple.imagent' \
|
||||
'com.apple.imautomatichistorydeletionagent' \
|
||||
'com.apple.imklaunchagent' \
|
||||
'com.apple.imtransferagent' \
|
||||
'com.apple.imagent' \
|
||||
)
|
||||
'com.apple.avconferenced')
|
||||
|
||||
# Game Center / Passbook / Apple TV / Homekit...
|
||||
TODISABLE+=( \
|
||||
'com.apple.CommCenter-osx' \
|
||||
'com.apple.Maps.pushdaemon' \
|
||||
'com.apple.homed' \
|
||||
TODISABLE+=('com.apple.gamed' \
|
||||
'com.apple.passd' \
|
||||
'com.apple.Maps.pushdaemon' \
|
||||
'com.apple.videosubscriptionsd' \
|
||||
'com.apple.gamed' \
|
||||
)
|
||||
'com.apple.CommCenter-osx' \
|
||||
'com.apple.homed')
|
||||
|
||||
# Ad-related
|
||||
TODISABLE+=( \
|
||||
'com.apple.ap.adservicesd' \
|
||||
'com.apple.ap.adprivacyd' \
|
||||
)
|
||||
TODISABLE+=('com.apple.ap.adprivacyd' \
|
||||
'com.apple.ap.adservicesd')
|
||||
|
||||
# Screensharing
|
||||
TODISABLE+=( \
|
||||
TODISABLE+=('com.apple.screensharing.MessagesAgent' \
|
||||
'com.apple.screensharing.agent' \
|
||||
'com.apple.screensharing.menuextra' \
|
||||
'com.apple.screensharing.MessagesAgent' \
|
||||
)
|
||||
'com.apple.screensharing.menuextra')
|
||||
|
||||
# Siri
|
||||
TODISABLE+=( \
|
||||
'com.apple.Siri.agent' \
|
||||
TODISABLE+=('com.apple.siriknowledged' \
|
||||
'com.apple.assistant_service' \
|
||||
'com.apple.assistantd' \
|
||||
'com.apple.parsec-fbf' \
|
||||
'com.apple.siriknowledged' \
|
||||
)
|
||||
'com.apple.Siri.agent' \
|
||||
'com.apple.parsec-fbf')
|
||||
|
||||
# VoiceOver / accessibility-related stuff
|
||||
TODISABLE+=( \
|
||||
TODISABLE+=('com.apple.VoiceOver' \
|
||||
'com.apple.voicememod' \
|
||||
'com.apple.accessibility.AXVisualSupportAgent' \
|
||||
'com.apple.accessibility.dfrhud' \
|
||||
'com.apple.accessibility.heard' \
|
||||
'com.apple.voicememod' \
|
||||
'com.apple.VoiceOver' \
|
||||
)
|
||||
'com.apple.accessibility.heard')
|
||||
|
||||
# Quicklook
|
||||
TODISABLE+=( \
|
||||
'com.apple.quicklook' \
|
||||
TODISABLE+=('com.apple.quicklook.ui.helper' \
|
||||
'com.apple.quicklook.ThumbnailsAgent' \
|
||||
'com.apple.quicklook.ui.helper' \
|
||||
)
|
||||
'com.apple.quicklook')
|
||||
|
||||
# Sidecar
|
||||
TODISABLE+=( \
|
||||
'com.apple.sidecar-relay'
|
||||
'com.apple.sidecar-hid-relay' \
|
||||
)
|
||||
TODISABLE+=('com.apple.sidecar-hid-relay' \
|
||||
'com.apple.sidecar-relay')
|
||||
|
||||
# Debugging process
|
||||
TODISABLE+=( \
|
||||
'com.apple.DiagnosticReportCleanup' \
|
||||
TODISABLE+=('com.apple.spindump_agent' \
|
||||
'com.apple.ReportCrash' \
|
||||
'com.apple.ReportGPURestart' \
|
||||
'com.apple.ReportPanic' \
|
||||
'com.apple.TrustEvaluationAgent' \
|
||||
'com.apple.spindump_agent' \
|
||||
)
|
||||
|
||||
'com.apple.DiagnosticReportCleanup' \
|
||||
'com.apple.TrustEvaluationAgent')
|
||||
|
||||
# Screentime
|
||||
TODISABLE+=( \
|
||||
'com.apple.UsageTrackingAgent' \
|
||||
'com.apple.ScreenTimeAgent' \
|
||||
)
|
||||
TODISABLE+=('com.apple.ScreenTimeAgent' \
|
||||
'com.apple.UsageTrackingAgent')
|
||||
|
||||
# Others
|
||||
TODISABLE+=( \
|
||||
'com.apple.AOSHeartbeat' \
|
||||
TODISABLE+=('com.apple.telephonyutilities.callservicesd' \
|
||||
'com.apple.photoanalysisd' \
|
||||
'com.apple.parsecd' \
|
||||
'com.apple.AOSPushRelay' \
|
||||
'com.apple.AddressBook.SourceSync' \
|
||||
'com.apple.AddressBook.abd' \
|
||||
'com.apple.AOSHeartbeat' \
|
||||
'com.apple.AirPlayUIAgent' \
|
||||
'com.apple.AirPortBaseStationAgent' \
|
||||
'com.apple.CalendarAgent' \
|
||||
'com.apple.CallHistoryPluginHelper' \
|
||||
'com.apple.CallHistorySyncHelper' \
|
||||
'com.apple.KeyboardAccessAgent' \
|
||||
'com.apple.RemoteDesktop' \
|
||||
'com.apple.SocialPushAgent' \
|
||||
'com.apple.amp.mediasharingd' \
|
||||
'com.apple.appleseed.seedusaged' \
|
||||
'com.apple.appleseed.seedusaged.postinstall' \
|
||||
'com.apple.exchange.exchangesyncd' \
|
||||
'com.apple.familycircled' \
|
||||
'com.apple.familycontrols.useragent' \
|
||||
'com.apple.familynotificationd' \
|
||||
'com.apple.findmymacmessenger' \
|
||||
'com.apple.helpd' \
|
||||
'com.apple.sharingd' \
|
||||
'com.apple.identityservicesd' \
|
||||
'com.apple.java.InstallOnDemand' \
|
||||
'com.apple.keyboardservicesd' \
|
||||
'com.apple.knowledge-agent' \
|
||||
'com.apple.parentalcontrols.check' \
|
||||
'com.apple.security.keychain-circle-notification' \
|
||||
'com.apple.syncdefaultsd' \
|
||||
'com.apple.appleseed.seedusaged' \
|
||||
'com.apple.appleseed.seedusaged.postinstall' \
|
||||
'com.apple.CallHistorySyncHelper' \
|
||||
'com.apple.RemoteDesktop' \
|
||||
'com.apple.CallHistoryPluginHelper' \
|
||||
'com.apple.SocialPushAgent' \
|
||||
'com.apple.touristd' \
|
||||
'com.apple.macos.studentd' \
|
||||
'com.apple.KeyboardAccessAgent' \
|
||||
'com.apple.exchange.exchangesyncd' \
|
||||
'com.apple.suggestd' \
|
||||
'com.apple.AddressBook.abd' \
|
||||
'com.apple.helpd' \
|
||||
'com.apple.amp.mediasharingd' \
|
||||
'com.apple.mediaanalysisd' \
|
||||
'com.apple.mediaremoteagent' \
|
||||
'com.apple.mobileassetd' \
|
||||
'com.apple.parentalcontrols.check' \
|
||||
'com.apple.parsecd' \
|
||||
'com.apple.photoanalysisd' \
|
||||
'com.apple.remindd' \
|
||||
'com.apple.security.keychain-circle-notification' \
|
||||
'com.apple.sharingd' \
|
||||
'com.apple.suggestd' \
|
||||
'com.apple.syncdefaultsd' \
|
||||
'com.apple.keyboardservicesd' \
|
||||
'com.apple.AddressBook.SourceSync' \
|
||||
'com.apple.telephonyutilities.callservicesd' \
|
||||
'com.apple.touristd' \
|
||||
'com.apple.telephonyutilities.callservicesd' \
|
||||
)
|
||||
'com.apple.mobileassetd' \
|
||||
'com.apple.CalendarAgent' \
|
||||
'com.apple.knowledge-agent')
|
||||
|
||||
echo Disabling unwanted LaunchAgents...
|
||||
for agent in "${TODISABLE[@]}"; do
|
||||
if [[ -e "./System/Library/launchAgents/${agent}.plist" ]]; then
|
||||
mv "./System/Library/LaunchAgents/${agent}.plist" \
|
||||
"./System/Library/LaunchAgents/${agent}.plist.bak"
|
||||
echo "[OK] Agent ${agent} disabled"
|
||||
fi
|
||||
for agent in "${TODISABLE[@]}"
|
||||
do
|
||||
mv ./System/Library/LaunchAgents/${agent}.plist ./System/Library/LaunchAgents/${agent}.plist.bak
|
||||
echo "[OK] Agent ${agent} disabled"
|
||||
done
|
||||
|
||||
# Daemons to disable
|
||||
TODISABLE=()
|
||||
|
||||
# iCloud
|
||||
TODISABLE+=( \
|
||||
'com.apple.analyticsd' \
|
||||
'com.apple.icloud.findmydeviced' \
|
||||
)
|
||||
TODISABLE+=('com.apple.analyticsd', 'com.apple.icloud.findmydeviced')
|
||||
|
||||
# Others
|
||||
TODISABLE+=( \
|
||||
'com.apple.ManagedClient' \
|
||||
'com.apple.ManagedClient.cloudconfigurationd' \
|
||||
'com.apple.ManagedClient.enroll' \
|
||||
'com.apple.ManagedClient.startup' \
|
||||
'com.apple.RemoteDesktop.PrivilegeProxy' \
|
||||
'com.apple.SubmitDiagInfo' \
|
||||
'com.apple.appleseed.fbahelperd' \
|
||||
'com.apple.apsd' \
|
||||
'com.apple.eapolcfg_auth' \
|
||||
'com.apple.locate' \
|
||||
'com.apple.locationd' \
|
||||
'com.apple.mediaremoted' \
|
||||
TODISABLE+=('com.apple.netbiosd' \
|
||||
'com.apple.preferences.timezone.admintool' \
|
||||
'com.apple.remotepairtool' \
|
||||
'com.apple.screensharing' \
|
||||
'com.apple.security.FDERecoveryAgent' \
|
||||
'com.apple.netbiosd' \
|
||||
)
|
||||
'com.apple.SubmitDiagInfo' \
|
||||
'com.apple.screensharing' \
|
||||
'com.apple.appleseed.fbahelperd' \
|
||||
'com.apple.apsd' \
|
||||
'com.apple.ManagedClient.cloudconfigurationd' \
|
||||
'com.apple.ManagedClient.enroll' \
|
||||
'com.apple.ManagedClient' \
|
||||
'com.apple.ManagedClient.startup' \
|
||||
'com.apple.locate' \
|
||||
'com.apple.locationd' \
|
||||
'com.apple.eapolcfg_auth' \
|
||||
'com.apple.RemoteDesktop.PrivilegeProxy' \
|
||||
'com.apple.mediaremoted')
|
||||
|
||||
for daemon in "${TODISABLE[@]}" ; do
|
||||
if [[ -e "./System/Library/LaunchDaemons/${daemon}.plist" ]]; then
|
||||
mv "./System/Library/LaunchDaemons/${daemon}.plist" \
|
||||
"./System/Library/LaunchDaemons/${daemon}.plist.bak"
|
||||
echo "[OK] Daemon ${daemon} disabled"
|
||||
fi
|
||||
for daemon in "${TODISABLE[@]}"
|
||||
do
|
||||
mv ./System/Library/LaunchDaemons/${daemon}.plist ./System/Library/LaunchDaemons/${daemon}.plist.bak
|
||||
echo "[OK] Daemon ${daemon} disabled"
|
||||
done
|
@ -40,8 +40,8 @@ mailoffsite: imapbackup
|
||||
|
||||
databackup:
|
||||
mkdir -p $(HOME)/Library/misc
|
||||
#brew list > $(HOME)/Library/misc/brewinstalled.txt
|
||||
#brew cask list > $(HOME)/Library/misc/brew-cask-installed.txt
|
||||
brew list > $(HOME)/Library/misc/brewinstalled.txt
|
||||
brew cask list > $(HOME)/Library/misc/brew-cask-installed.txt
|
||||
~/dev/hacks/bin/backup.command
|
||||
|
||||
cleanup:
|
||||
|
@ -63,7 +63,6 @@ RE+=" --exclude=/Library/Containers/com.docker.docker/"
|
||||
RE+=" --exclude=/Library/Cookies/"
|
||||
RE+=" --exclude=/Library/Developer/"
|
||||
RE+=" --exclude=/Library/Homebrew/"
|
||||
RE+=" --exclude=/Library/Syncthing/folders/" # syncthing is its own backup
|
||||
RE+=" --exclude=/Library/Logs/"
|
||||
RE+=" --exclude=/Library/Mail/" # keep your mail on the server!
|
||||
RE+=" --exclude=/Library/Mail?Downloads/"
|
||||
@ -175,11 +174,9 @@ RE+=" --exclude=/iBooks.app"
|
||||
RE+=" --exclude=/iMovie.app"
|
||||
RE+=" --exclude=/iTunes.app"
|
||||
|
||||
if [[ "$(uname)" = "Darwin" ]]; then
|
||||
RETVAL=255
|
||||
while [ $RETVAL -ne 0 ]; do
|
||||
$RSYNC $OPTS $RE $MINRE /Applications/ ${BACKUPDEST}/Applications/
|
||||
RETVAL=$?
|
||||
sleep 1;
|
||||
done
|
||||
fi
|
||||
RETVAL=255
|
||||
while [ $RETVAL -ne 0 ]; do
|
||||
$RSYNC $OPTS $RE $MINRE /Applications/ ${BACKUPDEST}/Applications/
|
||||
RETVAL=$?
|
||||
sleep 1;
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user