Skip to content

Instantly share code, notes, and snippets.

@keepzero
Created February 18, 2013 02:44
Show Gist options
  • Save keepzero/4974833 to your computer and use it in GitHub Desktop.
Save keepzero/4974833 to your computer and use it in GitHub Desktop.
Run .mozilla in memory
#!/bin/bash
# Alex Alexander (wired) <alex.alexander@gmail.com>
# http://www.linuxized.com
#
# this script makes sure your .mozilla folder is in tmpfs and constantly syncs it
# with a folder on your hdd so you won't lose anything :)
# for more details on how it works visit my blog in the link above.
#
# for this to have any meaning, the MOZTMPFS folder must be on tmpfs
# i.e. to make /var/tmp a tmpfs folder, add the following in /etc/fstab
# tmpfs /var/tmp tmpfs size=768M,mode=0777 0 0
#
# don't forget to mount the first time!
# your ram mozilla folder
MOZTMPFS=/dev/shm/`whoami`_mozilla
# your original mozilla folder - i recommend: mv ~/.mozilla ~/.mozilla-hdd
MOZHDD="${HOME}/.mozilla-hdd"
# your ~/.mozilla
MOZHOME="${HOME}/.mozilla"
# seconds interval for rsync
#INTERVAL=60
# lets make sure MOZHDD exists before we do anything naughty
if [ ! -d "${MOZHDD}" ]; then
echo "ERROR"
echo "${MOZHDD} doesn't exist."
echo "we won't do anything until you cp/mv your ${MOZHOME} folder there."
echo "try: mv ${MOZHOME} ${MOZHDD}"
exit
fi
# check for and create tmp folder
if [ ! -d "${MOZTMPFS}" ]; then
mkdir -p ${MOZTMPFS}
fi
# check for ~/.mozilla
# if it exists and is a directory die
if [ -e "${MOZHOME}" ] && [ ! -L "${MOZHOME}" ]; then
echo "ERROR"
echo "${MOZHOME} should not exist or should be a link"
echo "aborting to avoid permanent damage"
echo "backup and/or delete ${MOZHOME} and try again"
exit
else
if [ ! -e "${MOZHOME}" ]; then
ln -s "${MOZTMPFS}" "${MOZHOME}"
fi
fi
# sync to tmpfs
echo "syching ${MOZHDD} to ${MOZTMPFS}"
rsync -avi --delete "${MOZHDD}/" "${MOZTMPFS}/"
#echo "executing reverse sync every ${INTERVAL} seconds"
#( while true; do sleep ${INTERVAL}; rsync -avi --delete "${MOZTMPFS}/" "${MOZHDD}/"; done; ) &
#SYNC=$!
echo "launching firefox";
firefox
echo "firefox closed, kill auto sync and reverse sync one last time"
echo "please wait..."
#kill $!
rsync -avi --delete "${MOZTMPFS}/" "${MOZHDD}/"
echo "all done, removing ${MOZHOME} link for safety reasons =]";
rm ${MOZHOME}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment