backup Homebrew packages. See http://www.topbug.net/blog/2013/12/07/back-up-homebrew-packages/
#!/bin/bash | |
echo '#!/bin/bash' | |
echo '' | |
echo 'failed_items=""' | |
echo 'function install_package() {' | |
echo 'echo EXECUTING: brew install $1 $2' | |
echo 'brew install $1 $2' | |
echo '[ $? -ne 0 ] && $failed_items="$failed_items $1" # package failed to install.' | |
echo '}' | |
brew tap | while read tap; do echo "brew tap $tap"; done | |
brew list | while read item; | |
do | |
echo "install_package $item '$(brew info $item | /usr/bin/grep 'Built from source with:' | /usr/bin/sed 's/^[ \t]*Built from source with:/ /g; s/\,/ /g')'" | |
done | |
echo '[ ! -z $failed_items ] && echo The following items were failed to install: && echo $failed_items' |
This comment has been minimized.
This comment has been minimized.
@crcastle Thanks! Would you mind me putting the improvements into the blog post and this gist? |
This comment has been minimized.
This comment has been minimized.
@xuhdev really sorry I missed this message from you. Here are the improvements: https://gist.github.com/crcastle/6eb329de90a27b1e2ed7. I run this every 6 hours via cron. I also write the generated restore script to a folder in my Dropbox so that I get no-touch back ups. Good in case my computer dies or is stolen. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
This is great. I also use Homebrew Cask and noticed those packages weren't getting picked up in the restore file so I added this to the script before the last
echo
line: