Created
January 9, 2012 00:18
-
-
Save acidprime/1580239 to your computer and use it in GitHub Desktop.
Simple Backup Script I used for a backup pre 10.5+ upgrade
This file contains hidden or 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 | |
declare -x nidump="/usr/bin/nidump" | |
declare -x dirname="/usr/bin/dirname" | |
declare -x system_profiler="/usr/sbin/system_profiler" | |
declare -x hdiutil="/usr/bin/hdiutil" | |
declare -x sharing="/usr/sbin/sharing" | |
declare -x serveradmin="/usr/sbin/serveradmin" | |
declare -x RUN_DIRECTORY="/tmp/$$backup$RANDOM" | |
# Find the Run Directory from the Script Path | |
mkdir "$RUN_DIRECTORY/Server Admin" | |
mkdir "$RUN_DIRECTORY/System Profiler" | |
mkdir "$RUN_DIRECTORY/Share Points" | |
mkdir "$RUN_DIRECTORY/Configurations" | |
mkdir "$RUN_DIRECTORY/Web" | |
mkdir "$RUN_DIRECTORY/etc" | |
mkdir "$RUN_DIRECTORY/Users" | |
$system_profiler -xml >"${RUN_DIRECTORY}/System Profiler/$(hostname).spx" | |
$hdiutil create -srcFolder /Library/WebServer/Documents/ "${RUN_DIRECTORY}/Web/LibraryWebServerDocuments.dmg" | |
$hdiutil create -srcFolder /Library/WebObjects/ "${RUN_DIRECTORY}/Web/LibraryWebObjects.dmg" | |
$hdiutil create -srcFolder /Library/Preferences/ "${RUN_DIRECTORY}/Configurations/LibraryPreferences.dmg" | |
$hdiutil create -srcFolder /private/etc "${RUN_DIRECTORY}/Configurations/etc.dmg" | |
$nidump -r /config/SharePoints . >"${RUN_DIRECTORY}/Share Points/SharePoints.nidump" | |
$sharing -l >"${RUN_DIRECTORY}/Share Points/SharePoints.sharing" | |
$hdiutil create -srcFolder /Users "$RUN_DIRECTORY/Users/Home Folders.dmg" | |
$nidump -r /users . >"${RUN_DIRECTORY}/Users/accounts.nidump" | |
$hdiutil create -srcFolder "/private/var/db/shadow/hash" "${RUN_DIRECTORY}/Users/passwords.dmg" | |
for SERVICE in $(serveradmin list) ; do | |
declare STATUS="$(serveradmin status $SERVICE 2>/dev/null | | |
awk '/.*:state/{print $NF;exit}')" | |
if [ "$STATUS" = '"RUNNING"' ] ; then | |
echo $SERVICE is running | |
serveradmin settings $SERVICE >"${RUN_DIRECTORY}/Server Admin/$SERVICE.serveradmin" | |
fi | |
done | |
$hdiutil create -srcFolder "$RUN_DIRECTORY" "/tmp/serverbackup$$.dmg" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment