Commit 316d60a

mo khan <mo@mokhan.ca>
2015-12-24 20:26:28
fix tabbing.
1 parent 3aa234a
Changed files (1)
templates/pg_backup_rotated.sh.erb
@@ -1,122 +1,122 @@
 #!/bin/bash
 
 while [ $# -gt 0 ]; do
-	case $1 in
-		-c)
-			CONFIG_FILE_PATH="$2"
-			shift 2
-			;;
-		*)
-			${ECHO} "Unknown Option \"$1\"" 1>&2
-			exit 2
-			;;
-	esac
+  case $1 in
+    -c)
+      CONFIG_FILE_PATH="$2"
+      shift 2
+      ;;
+    *)
+      ${ECHO} "Unknown Option \"$1\"" 1>&2
+      exit 2
+      ;;
+  esac
 done
 
 if [ -z $CONFIG_FILE_PATH ] ; then
-	SCRIPTPATH=$(cd ${0%/*} && pwd -P)
-	CONFIG_FILE_PATH="${SCRIPTPATH}/pg_backup.config"
+  SCRIPTPATH=$(cd ${0%/*} && pwd -P)
+  CONFIG_FILE_PATH="${SCRIPTPATH}/pg_backup.config"
 fi
 
 if [ ! -r ${CONFIG_FILE_PATH} ] ; then
-	echo "Could not load config file from ${CONFIG_FILE_PATH}" 1>&2
-	exit 1
+  echo "Could not load config file from ${CONFIG_FILE_PATH}" 1>&2
+  exit 1
 fi
 
 source "${CONFIG_FILE_PATH}"
 
 if [ "$BACKUP_USER" != "" -a "$(id -un)" != "$BACKUP_USER" ] ; then
-	echo "This script must be run as $BACKUP_USER. Exiting." 1>&2
-	exit 1
+  echo "This script must be run as $BACKUP_USER. Exiting." 1>&2
+  exit 1
 fi
 
 if [ ! $HOSTNAME ]; then
-	HOSTNAME="localhost"
+  HOSTNAME="localhost"
 fi;
 
 if [ ! $USERNAME ]; then
-	USERNAME="postgres"
+  USERNAME="postgres"
 fi;
 
 function perform_backups()
 {
-	SUFFIX=$1
-	FINAL_BACKUP_DIR=$BACKUP_DIR"`date +\%Y-\%m-\%d`$SUFFIX/"
-
-	echo "Making backup directory in $FINAL_BACKUP_DIR"
-
-	if ! mkdir -p $FINAL_BACKUP_DIR; then
-		echo "Cannot create backup directory in $FINAL_BACKUP_DIR. Go and fix it!" 1>&2
-		exit 1;
-	fi;
-
-	for SCHEMA_ONLY_DB in ${SCHEMA_ONLY_LIST//,/ }
-	do
-		SCHEMA_ONLY_CLAUSE="$SCHEMA_ONLY_CLAUSE or datname ~ '$SCHEMA_ONLY_DB'"
-	done
-
-	SCHEMA_ONLY_QUERY="select datname from pg_database where false $SCHEMA_ONLY_CLAUSE order by datname;"
-	echo -e "\n\nPerforming schema-only backups"
-	echo -e "--------------------------------------------\n"
-	SCHEMA_ONLY_DB_LIST=`psql -h "$HOSTNAME" -U "$USERNAME" -At -c "$SCHEMA_ONLY_QUERY" postgres`
-	echo -e "The following databases were matched for schema-only backup:\n${SCHEMA_ONLY_DB_LIST}\n"
-
-	for DATABASE in $SCHEMA_ONLY_DB_LIST
-	do
-		echo "Schema-only backup of $DATABASE"
-
-		if ! pg_dump -Fp -s -h "$HOSTNAME" -U "$USERNAME" "$DATABASE" | gzip > $FINAL_BACKUP_DIR"$DATABASE"_SCHEMA.sql.gz.in_progress; then
-			echo "[!!ERROR!!] Failed to backup database schema of $DATABASE" 1>&2
-		else
-			mv $FINAL_BACKUP_DIR"$DATABASE"_SCHEMA.sql.gz.in_progress $FINAL_BACKUP_DIR"$DATABASE"_SCHEMA.sql.gz
-		fi
-	done
-
-	for SCHEMA_ONLY_DB in ${SCHEMA_ONLY_LIST//,/ }
-	do
-		EXCLUDE_SCHEMA_ONLY_CLAUSE="$EXCLUDE_SCHEMA_ONLY_CLAUSE and datname !~ '$SCHEMA_ONLY_DB'"
-	done
-
-	FULL_BACKUP_QUERY="select datname from pg_database where not datistemplate and datallowconn $EXCLUDE_SCHEMA_ONLY_CLAUSE order by datname;"
-
-	echo -e "\n\nPerforming full backups"
-	echo -e "--------------------------------------------\n"
-
-	for DATABASE in `psql -h "$HOSTNAME" -U "$USERNAME" -At -c "$FULL_BACKUP_QUERY" postgres`
-	do
-		if [ $ENABLE_PLAIN_BACKUPS = "yes" ]
-		then
-			echo "Plain backup of $DATABASE"
-
-			if ! pg_dump -Fp -h "$HOSTNAME" -U "$USERNAME" "$DATABASE" | gzip > $FINAL_BACKUP_DIR"$DATABASE".sql.gz.in_progress; then
-				echo "[!!ERROR!!] Failed to produce plain backup database $DATABASE" 1>&2
-			else
-				mv $FINAL_BACKUP_DIR"$DATABASE".sql.gz.in_progress $FINAL_BACKUP_DIR"$DATABASE".sql.gz
-			fi
-		fi
-
-		if [ $ENABLE_CUSTOM_BACKUPS = "yes" ]
-		then
-			echo "Custom backup of $DATABASE"
-
-			if ! pg_dump -Fc -h "$HOSTNAME" -U "$USERNAME" "$DATABASE" -f $FINAL_BACKUP_DIR"$DATABASE".custom.in_progress; then
-				echo "[!!ERROR!!] Failed to produce custom backup database $DATABASE"
-			else
-				mv $FINAL_BACKUP_DIR"$DATABASE".custom.in_progress $FINAL_BACKUP_DIR"$DATABASE".custom
-			fi
-		fi
-	done
-	echo -e "\nAll database backups complete!"
+  SUFFIX=$1
+  FINAL_BACKUP_DIR=$BACKUP_DIR"`date +\%Y-\%m-\%d`$SUFFIX/"
+
+  echo "Making backup directory in $FINAL_BACKUP_DIR"
+
+  if ! mkdir -p $FINAL_BACKUP_DIR; then
+    echo "Cannot create backup directory in $FINAL_BACKUP_DIR. Go and fix it!" 1>&2
+    exit 1;
+  fi;
+
+  for SCHEMA_ONLY_DB in ${SCHEMA_ONLY_LIST//,/ }
+  do
+    SCHEMA_ONLY_CLAUSE="$SCHEMA_ONLY_CLAUSE or datname ~ '$SCHEMA_ONLY_DB'"
+  done
+
+  SCHEMA_ONLY_QUERY="select datname from pg_database where false $SCHEMA_ONLY_CLAUSE order by datname;"
+  echo -e "\n\nPerforming schema-only backups"
+  echo -e "--------------------------------------------\n"
+  SCHEMA_ONLY_DB_LIST=`psql -h "$HOSTNAME" -U "$USERNAME" -At -c "$SCHEMA_ONLY_QUERY" postgres`
+  echo -e "The following databases were matched for schema-only backup:\n${SCHEMA_ONLY_DB_LIST}\n"
+
+  for DATABASE in $SCHEMA_ONLY_DB_LIST
+  do
+    echo "Schema-only backup of $DATABASE"
+
+    if ! pg_dump -Fp -s -h "$HOSTNAME" -U "$USERNAME" "$DATABASE" | gzip > $FINAL_BACKUP_DIR"$DATABASE"_SCHEMA.sql.gz.in_progress; then
+      echo "[!!ERROR!!] Failed to backup database schema of $DATABASE" 1>&2
+    else
+      mv $FINAL_BACKUP_DIR"$DATABASE"_SCHEMA.sql.gz.in_progress $FINAL_BACKUP_DIR"$DATABASE"_SCHEMA.sql.gz
+    fi
+  done
+
+  for SCHEMA_ONLY_DB in ${SCHEMA_ONLY_LIST//,/ }
+  do
+    EXCLUDE_SCHEMA_ONLY_CLAUSE="$EXCLUDE_SCHEMA_ONLY_CLAUSE and datname !~ '$SCHEMA_ONLY_DB'"
+  done
+
+  FULL_BACKUP_QUERY="select datname from pg_database where not datistemplate and datallowconn $EXCLUDE_SCHEMA_ONLY_CLAUSE order by datname;"
+
+  echo -e "\n\nPerforming full backups"
+  echo -e "--------------------------------------------\n"
+
+  for DATABASE in `psql -h "$HOSTNAME" -U "$USERNAME" -At -c "$FULL_BACKUP_QUERY" postgres`
+  do
+    if [ $ENABLE_PLAIN_BACKUPS = "yes" ]
+    then
+      echo "Plain backup of $DATABASE"
+
+      if ! pg_dump -Fp -h "$HOSTNAME" -U "$USERNAME" "$DATABASE" | gzip > $FINAL_BACKUP_DIR"$DATABASE".sql.gz.in_progress; then
+        echo "[!!ERROR!!] Failed to produce plain backup database $DATABASE" 1>&2
+      else
+        mv $FINAL_BACKUP_DIR"$DATABASE".sql.gz.in_progress $FINAL_BACKUP_DIR"$DATABASE".sql.gz
+      fi
+    fi
+
+    if [ $ENABLE_CUSTOM_BACKUPS = "yes" ]
+    then
+      echo "Custom backup of $DATABASE"
+
+      if ! pg_dump -Fc -h "$HOSTNAME" -U "$USERNAME" "$DATABASE" -f $FINAL_BACKUP_DIR"$DATABASE".custom.in_progress; then
+        echo "[!!ERROR!!] Failed to produce custom backup database $DATABASE"
+      else
+        mv $FINAL_BACKUP_DIR"$DATABASE".custom.in_progress $FINAL_BACKUP_DIR"$DATABASE".custom
+      fi
+    fi
+  done
+  echo -e "\nAll database backups complete!"
 }
 
 DAY_OF_MONTH=`date +%d`
 
 if [ $DAY_OF_MONTH -eq 1 ];
 then
-	# Delete all expired monthly directories
-	find $BACKUP_DIR -maxdepth 1 -name "*-monthly" -exec rm -rf '{}' ';'
-	perform_backups "-monthly"
-	exit 0;
+  # Delete all expired monthly directories
+  find $BACKUP_DIR -maxdepth 1 -name "*-monthly" -exec rm -rf '{}' ';'
+  perform_backups "-monthly"
+  exit 0;
 fi
 
 DAY_OF_WEEK=`date +%u` #1-7 (Monday-Sunday)
@@ -124,9 +124,9 @@ EXPIRED_DAYS=`expr $((($WEEKS_TO_KEEP * 7) + 1))`
 
 if [ $DAY_OF_WEEK = $DAY_OF_WEEK_TO_KEEP ];
 then
-	find $BACKUP_DIR -maxdepth 1 -mtime +$EXPIRED_DAYS -name "*-weekly" -exec rm -rf '{}' ';'
-	perform_backups "-weekly"
-	exit 0;
+  find $BACKUP_DIR -maxdepth 1 -mtime +$EXPIRED_DAYS -name "*-weekly" -exec rm -rf '{}' ';'
+  perform_backups "-weekly"
+  exit 0;
 fi
 
 find $BACKUP_DIR -maxdepth 1 -mtime +$DAYS_TO_KEEP -name "*-daily" -exec rm -rf '{}' ';'