Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- ##############################
- #Script by Anas V
- ##############################
- #Substitute your postgresql root username in the below given line
- PGUSER=postgres
- #Substitute your postgresql root password in the below given line
- PGPASSWORD=stuffnthings
- export PGUSER PGPASSWORD
- tdate=`date +%d-%b-%Y`
- if [ $# -lt 1 ]
- # Check if there is atleast one argument [i.e the database whose dump is to be taken]
- #First argument is mandatory - Databse name
- #Second argument is optional - Destination path to save dump
- then
- echo "Bad Arguments"
- echo "-----------------------------------"
- echo "USAGE : pg_dmp.sh <databasename> [outputfile]"
- echo "-----------------------------------"
- exit 1
- else
- #if one or more arguments were provided
- if [ $# -ge 2 ]
- #if arguments provided is greater than or equal to 2
- then
- #Comment out the below given file exist check and it's associated messages
- # if you want to run the pg_dmpsh script to run silently. i.e from a cron or at job
- # without any user interaction. Then the output dump file will be rewritten if a file
- # already exists.
- #if [ -f $2 ]
- # if destination file ie argument 2 is already existing
- #then
- # #Show confirmation message to confirm whether replace file with new one or exit
- # dialog --title "Confirm File Replace" --backtitle "pg_dmp.sh"\
- # --yesno "\nFile already exist, Do you want to replace it with '$2' file" 7 90
- # sel=$?
- # case $sel in
- # #if Yes then take dump and replace the existing file with new dump
- # 0) pg_dump $1 -f $2 -i -x -O -R;;
- # #if No then exit
- # 1) exit 1 ;;
- # #if escape then exit
- # 255) exit 1;;
- # esac
- #else
- # #if destination file does not exist then create and save the dump in destination path
- pg_dump $1 -f $2 -i -x -O -R
- #fi
- else
- if [ $# -eq 1 ]
- #if arguments provided is equal to 1
- then
- if [ -d $HOME/pg_backup_$1 ]
- #if folder name pg_backup_'databsename' exist in the current users home directory
- then
- #if [ -f $HOME/pg_backup_$1/$1_$tdate ]
- ##if destination file name exist in pg_backup_'databasename' folder in current users home dierectory
- #then
- ##Show confirmation message for replacing the file with new dump
- # dialog --title "Confirm File Replace" --backtitle "pg_dump.sh"\
- # --yesno "\nFile already exist, Do you want to replace it with '$HOME/pg_backup_$1/$1_$tdate' file" 7 90
- # sel=$?
- # case $sel in
- # #if Yes then replace the file with new dump file
- # 0) pg_dump $1 -f $HOME/pg_backup_$1/$1_$tdate -i -x -O -R;;
- # #if No then exit
- # 1) exit 1 ;;
- # #if escape thenexit
- # 255) exit 1;;
- # esac
- #else
- # #if destination file does not exist then create and save the dump
- pg_dump $1 -f $HOME/pg_backup_$1/$1_$tdate -i -x -O -R
- #fi
- else
- #if folder pg_backup_'databsename' does not exist in the current users home dierectory then
- #Create a new folder
- mkdir $HOME/pg_backup_$1
- #then create dump and save it
- pg_dump $1 -f $HOME/pg_backup_$1/$1_$tdate -i -x -O -R
- #if databse to take does not exist then Delete the folder created
- if [ $? -ne 0 ]
- then
- rmdir $HOME/pg_backup_$1
- fi
- fi
- fi
- fi
- if [ $# -gt 2 ]
- #if arguments passed where greater than 2 then show message
- then
- echo "Extra Arguments ignored"
- fi
- fi
- #reset PGUSER and PGPASSWORD
- PGUSER=""
- PGPASSWORD=""
- export PGUSER PGPASSWORD
- #End
Add Comment
Please, Sign In to add comment