Skip to content

Instantly share code, notes, and snippets.

@heyalexej
Created May 3, 2014 12:44
Show Gist options
  • Save heyalexej/11497276 to your computer and use it in GitHub Desktop.
Save heyalexej/11497276 to your computer and use it in GitHub Desktop.
zips up your entire machine from root, considers excludes
#!/bin/sh
DATE=`date +%Y-%m-%d-d%`
ARCH=`uname -m`
HOSTNAME=`uname -n`
ROOTFS_TYPE=`df -T / | awk '{print $2}' | grep -v "Type"`
BACKUP_PATH=`pwd`
STAGE5NAME="backup-${ARCH}-${ROOTFS_TYPE}-${HOSTNAME}-${DATE}.tar.gz"
cd /;
tar czpvf ${BACKUP_PATH}/${STAGE5NAME} . \
--exclude=${BACKUP_PATH}/*.md5 \
--exclude=/usr/share/ri* \
--exclude=/usr/share/ruby* \
--exclude=/var/lib/dpkg* \
--exclude=/var/lib/pytho* \
--exclude=/var/lib/ruby* \
--exclude=/etc/udev/rules.d/61* \
--exclude=/etc/udev/rules.d/70* \
--exclude=/etc/udev/rules.d/80* \
--exclude=/etc/udev/rules.d/90* \
--exclude=/etc/ssh/ssh_host* \
--exclude=/var/log/*log \
--exclude=/var/log/portage/elog/* \
--exclude=/var/tmp/* \
--exclude=/proc/* \
--exclude=/sys/* \
--exclude=/boot/* \
--exclude=/tmp/*
--exclude=/mnt/*
--exclude=/var/log/dmesg* \
--exclude=/o/* \
--exclude=/usr/portage/distfiles/* \
--exclude=/export/* \
#--exclude=./home/* \
#--exclude=/var/log/messages* \
#--exclude=./usr/portage/* \
wait;
cd ${BACKUP_PATH};
md5sum ${STAGE5NAME} > ${STAGE5NAME}.md5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment