Last active
July 17, 2023 12:07
-
-
Save xuhdev/7854010 to your computer and use it in GitHub Desktop.
backup Homebrew packages. See http://www.topbug.net/blog/2013/12/07/back-up-homebrew-packages/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@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.