Advertisement
Guest User

Untitled

a guest
Mar 8th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. #!/bin/bash
  2. # Nico Renken
  3. # 2017
  4. # Datenbanken
  5. declare -a hosts=("127.0.0.2" "127.0.0.3" )
  6. declare -a dbs=("db_12345" "db_54321" )
  7. declare -a users=("u_12345" "u_54321" )
  8. declare -a pass=("secure" "moresecure" )
  9. # Verzeichnis zum Sichern
  10. Backupdir="/home/users/alfed/dbBackups"
  11. # Taegliche Sicherungen nach X Tagen loeschen
  12. DeleteOlderThanDays=10
  13. # Wochentliche Sicherungen nach X Tagen loeschen
  14. WeeklyDeleteOlderThanDays=60
  15. # Monatliche Sicherungen nach X Tagen loeschen
  16. MonthlyDeleteOlderThanDays=365
  17. DeleteMask=db*.sql.gz
  18. ##################################################################
  19. current_month_day=`date +"%d"`
  20. current_week_day=`date +"%u"`
  21. ##################################################################
  22. ############################ Sichern #############################
  23. ##################################################################
  24. typeset -i i=0 max=${#hosts[*]}
  25. while (( i < max ))
  26. do
  27. echo "Sicherung: ${hosts[$i]} DB: ${dbs[$i]}"
  28. FILE=${Backupdir}/${dbs[$i]}.`date +"%Y%m%d"`.sql
  29. ## Falls vorhanden, dateileichen l�schen
  30. rm ${FILE} 2> /dev/null
  31. rm ${FILE}.gz 2> /dev/null
  32. /usr/bin/mysqldump ${dbs[$i]} --routines --quick --host=${hosts[$i]} --user=${users[$i]} --password=${pass[$i]} > ${FILE}
  33. gzip ${FILE}
  34. echo "${dbs[$i]} gesichert"
  35. i=i+1
  36. # monatliches Backup immer am 1.
  37. if [ "${current_month_day}" -eq 1 ] ; then
  38. cp ${FILE}.gz ${Backupdir}/monthly
  39. fi
  40. # Sonntags das Weekly Backup
  41. if [ "${current_week_day}" -eq 7 ] ; then
  42. cp ${FILE}.gz ${Backupdir}/weekly
  43. fi
  44. done
  45.  
  46. ##################################################################
  47. #################### Alte Sicherungen loeschen ###################
  48. ##################################################################
  49. find ${Backupdir} -maxdepth 1 -mtime +${DeleteOlderThanDays} -iname ${DeleteMask} -delete
  50. find ${Backupdir}/weekly -maxdepth 1 -mtime +${WeeklyDeleteOlderThanDays} -iname ${DeleteMask} -delete
  51. find ${Backupdir}/monthly -maxdepth 1 -mtime +${MonthlyDeleteOlderThanDays} -iname ${DeleteMask} -delete
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement