Skip to content

Instantly share code, notes, and snippets.

@Egregius
Created September 9, 2020 09:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Egregius/1cfcb6025d62d082515ecd94bc1b8fa2 to your computer and use it in GitHub Desktop.
Save Egregius/1cfcb6025d62d082515ecd94bc1b8fa2 to your computer and use it in GitHub Desktop.
Use RAM disk for macOS caches and logs
#!/bin/bash
while [ ! -d /Volumes ]
do
echo "waiting..."
sleep 0.5
done
if [ ! -d /Volumes/RamDisk ]; then
echo "creating ramdisk..."
sleep 0.5
diskutil partitionDisk $(hdiutil attach -nomount ram://$((2048*16000))) 1 GPTFormat APFS 'RamDisk' '100%'
mkdir -p /Volumes/RamDisk/Logs/
sudo rm -rf /private/var/log
ln -s /Volumes/RamDisk/Logs /private/var/log
sudo rm -rf /Users/guy/Library/Logs
ln -s /Volumes/RamDisk/Logs /Users/guy/Library/Logs
sudo rm -rf /Library/Logs
sudo ln -s /Volumes/RamDisk/Logs /Library/Logs
rm -rf /Users/guy/Library/Application\ Support/Adobe/ExtensibilityLibrary/Log
ln -s /Volumes/RamDisk/Logs /Users/guy/Library/Application\ Support/Adobe/ExtensibilityLibrary/Log
rm -rf /Users/guy/Library/Application\ Support/Adobe/Extension\ Manager\ CC/Log
ln -s /Volumes/RamDisk/Logs /Users/guy/Library/Application\ Support/Adobe/Extension\ Manager\ CC/Log
mkdir -p /Volumes/RamDisk/Downloads
sudo rm -rf /Users/guy/Downloads
sudo ln -s /Volumes/RamDisk/Downloads /Users/guy
sudo chown guy:staff /Users/guy/Downloads
declare -a arr=(
"Adobe Camera Raw 2"
"Adobe_CCXProcess.node"
"askpermissiond"
"BraveSoftware"
"com.adobe.acc.AdobeDesktopService"
"com.adobe.acc.ads.helper"
"com.adobe.bridge10"
"com.adobe.headlights.LogTransport2App"
"com.apple.akd"
"com.apple.AMPLibraryAgent"
"com.apple.AppleMediaServices"
"com.apple.appstore"
"com.apple.appstoreagent"
"com.apple.cache_delete"
"com.apple.commerce"
"com.apple.helpd"
"com.apple.iBooksX"
"com.apple.icloud.fmfd"
"com.apple.iCloudHelper"
"com.apple.imfoundation.IMRemoteURLConnectionAgent"
"com.apple.InstallAssistant.macOS1016"
"com.apple.installer"
"com.apple.installer.osinstallersetupd"
"com.apple.nbagent"
"com.apple.nsurlsessiond"
"com.apple.parsecd"
"com.apple.passd"
"com.apple.proactive.eventtracker"
"com.apple.remindd"
"com.apple.Spotlight"
"com.apple.touristd"
"com.apple.VideoConference"
"com.apple.XprotectFramework.AnalysisService"
"com.brave.Browser"
"com.crashlytics.data"
"com.dustinrue.ControlPlane"
"com.flixtools.flixtools"
"com.Google.GoogleDrive"
"com.google.GoogleEarthPro"
"com.google.Keystone"
"com.google.SoftwareUpdate"
"com.intel.PowerGadget"
"com.MattRajca.RetinaCapture"
"com.microsoft.autoupdate.fba"
"com.microsoft.autoupdate2"
"com.microsoft.edgemac"
"com.microsoft.teams"
"com.operasoftware.Installer.Opera"
"com.operasoftware.Opera"
"com.panic.Transmit"
"com.plausiblelabs.crashreporter.data"
"com.runningwithcrayons.Alfred"
"com.spotify.client"
"com.teamviewer.TeamViewer"
"CSXS"
"FamilyCircle"
"familycircled"
"GeoServices"
"Google"
"Google Earth"
"knowledge-agent"
"ksfetch"
"Maps"
"Microsoft"
"Microsoft Edge"
"net.freemacsoft.AppCleaner"
"net.pornel.ImageOptim"
"node"
"PassKit"
"TeamViewer"
"Transmit"
)
for i in "${arr[@]}"
do
mkdir -p "/Volumes/RamDisk/Caches/$i"
if [[ -L "/Users/guy/Library/Caches/$i" && -d "/Users/guy/Library/Caches/$i" ]]
then
echo "$i is already a symlink"
else
rm -rf "/Users/guy/Library/Caches/$i"
ln -s "/Volumes/RamDisk/Caches/$i" /Users/guy/Library/Caches
echo "$i CREATED"
fi
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment