Guest User

Untitled

a guest
Apr 3rd, 2019
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Linux MySQL Database FTP Backup Script
  4. # Version: 1.0
  5. # Script by: Pietro Marangon
  6. # Skype: pe46dro
  7. # Email: pietro.marangon@gmail.com
  8. # SFTP function by unixfox and Pe46dro
  9.  
  10. backup_path="/root"
  11.  
  12. create_backup() {
  13. umask 177
  14.  
  15. FILE="$db_name-$d.sql.gz"
  16. mysqldump --user=$user --password=$password --host=$host $db_name | gzip --best > $FILE
  17.  
  18. echo 'Backup Complete'
  19. }
  20.  
  21. clean_backup() {
  22. rm -f $backup_path/$FILE
  23. echo 'Local Backup Removed'
  24. }
  25.  
  26. ########################
  27. # Edit Below This Line #
  28. ########################
  29.  
  30. # Database credentials
  31.  
  32. user="USERNAME HERE"
  33. password="PASSWORD HERE"
  34. host="IP HERE"
  35. db_name="DATABASE NAME HERE"
  36.  
  37. # FTP Login Data
  38. USERNAME="USERNAME HERE"
  39. PASSWORD="PASSWORD HERE"
  40. SERVER="IP HERE"
  41. PORT="SERVER PORT HERE"
  42.  
  43. #Remote directory where the backup will be placed
  44. REMOTEDIR="./"
  45.  
  46. #Transfer type
  47. #1=FTP
  48. #2=SFTP
  49. TYPE=1
  50.  
  51. ##############################
  52. # Don't Edit Below This Line #
  53. ##############################
  54.  
  55. d=$(date --iso)
  56. cd $backup_path
  57. create_backup
  58.  
  59. if [ $TYPE -eq 1 ]
  60. then
  61. ftp -n -i $SERVER <<EOF
  62. user $USERNAME $PASSWORD
  63. binary
  64. cd $REMOTEDIR
  65. mput $FILE
  66. quit
  67. EOF
  68. elif [ $TYPE -eq 2 ]
  69. then
  70. rsync --rsh="sshpass -p $PASSWORD ssh -p $PORT -o StrictHostKeyChecking=no -l $USERNAME" $backup_path/$FILE $SERVER:$REMOTEDIR
  71. else
  72. echo 'Please select a valid type'
  73. fi
  74.  
  75. echo 'Remote Backup Complete'
  76. clean_backup
  77. #END
Add Comment
Please, Sign In to add comment