Ein für Shopware 6 vorbereitet Systemmanagment.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.7 KiB

2 years ago
  1. #!/bin/bash
  2. ### DO NOT EDIT THIS FILE
  3. source "$(dirname "${BASH_SOURCE[0]}")/../includes/includes.sh"
  4. app_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." &> /dev/null && pwd)
  5. source "$app_dir/etc/config.sh"
  6. env=$(getArgument "1" "Usage: import_gdpr_data.sh [live|stage]" "live stage")
  7. echo
  8. echoMainTitle "Fetch GDPR Data from $env"
  9. currentDate=$(date '+%Y-%m-%d_%H:%M:%S')
  10. addSSHKey "$env"
  11. ssh_user="$(eval "echo \$${env}_ssh_user")"
  12. ssh_domain="$(eval "echo \$${env}_ssh_domain")"
  13. includedTables=$(buildIncludedTables "${gdprTables[@]}"
  14. database_name=$(eval "echo \$${env}_database_name")
  15. local_database_name=$(eval "echo \$local_${env}_database_name")
  16. echo "Fetching Data ..."
  17. scp "$app_dir/etc/${env}.my.cnf" "$ssh_user"@"$ssh_domain":"~/${env}.my.cnf"
  18. ssh "$ssh_user"@"$ssh_domain" "mysqldump --defaults-extra-file=~/${env}.my.cnf --no-tablespaces --no-create-info --skip-triggers \
  19. "$database_name" "${includedTables[@]}" | LANG=C LC_CTYPE=C LC_ALL=C sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' | gzip -9 > \
  20. ~/${env}_gdpr_data.sql.gz"
  21. scp "$ssh_user"@"$ssh_domain":"~/${env}_gdpr_data.sql.gz" "$app_dir/var/tmp/${env}_gdpr_data.sql.gz"
  22. ssh "$ssh_user"@"$ssh_domain" "unlink ~/${env}_gdpr_data.sql.gz"
  23. ssh "$ssh_user"@"$ssh_domain" "unlink ~/${env}.my.cnf"
  24. echo "Backup Data ..."
  25. cp "$app_dir/var/tmp/${env}_gdpr_data.sql.gz" "$app_dir/backup/database/${env}/${currentDate}_${env}_gdpr_data.sql.gz"
  26. echo "Uncompress Data ..."
  27. gzip -d "$app_dir/var/tmp/${env}_gdpr_data.sql.gz"
  28. echo "Import Data ..."
  29. mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$local_database_name" < "$app_dir/var/tmp/${env}_gdpr_data.sql"
  30. echo "Post Scripts ..."
  31. postScript "$app_dir/bin/postscripts/import_gdpr_data.sh" ]
  32. echo "Cleanup ..."
  33. rm "$app_dir/var/tmp/${env}_gdpr_data.sql"