Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. HOST=''
  4. USER="backuptest"
  5. PASS=""
  6. RDIR='/' # Remote DIR
  7. datetime="$(date +%FT%T)"
  8. top_dir='/tmp'
  9. name="db-backup-${datetime//:/-}"
  10. backup_name="${top_dir}/${name}"
  11.  
  12. function main
  13. {
  14. getoptions $*
  15. [ "$UID" != "0" ] && { echo 'You need to run this script as a root user! Aborting...'; exit 1; }
  16. echo "Started the backup process on: $(date)"
  17. process_dbs
  18. upload "${name}.tar.gz"
  19. echo "Finished the backup process on: $(date)"
  20. echo "Uploaded file name is: ${name}.tar.gz"
  21. #rm -rf ${backup_name}{,.tar.gz}
  22.  
  23. }
  24. function process_dbs
  25. {
  26. xtrabackup --backup --user=bkpuser --password=xtrabackupLocal -throttle =1 --target-dir=${backup_name} >& /dev/null
  27. xtrabackup --prepare --user=bkpuser --password=xtrabackupLocal -throttle =1 --target-dir=${backup_name} >& /dev/null
  28. compress_dbs
  29. }
  30.  
  31. function compress_dbs
  32. {
  33. tar cvzf ${backup_name}.tar.gz ${backup_name} >& /dev/null
  34. }
  35. function upload
  36. {
  37. FILE="$1"
  38. ftp -n $HOST <<XOK
  39. quote USER $USER
  40. quote PASS $PASS
  41. cd $RDIR
  42. lcd ${top_dir}
  43. put $FILE
  44. quit
  45. XOK
  46. }
  47. function getoptions
  48. {
  49. while getopts "h:u:p:d:rf:" opt
  50. do
  51. case "${opt}" in
  52. h ) HOST=${OPTARG};;
  53. u ) USER=${OPTARG};;
  54. p ) PASS=${OPTARG};;
  55. d ) RDIR=${OPTARG};;
  56. esac
  57. done
  58. }
  59.  
  60. main $*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement