Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

backup.sh 774B

123456789101112131415161718192021222324252627282930313233
  1. #! /bin/sh
  2. #
  3. if [ ! -f "${PWD}/.env" ]; then
  4. echo "missing env file in ${PWD}"
  5. exit 1
  6. fi
  7. set -a
  8. . "${PWD}/.env"
  9. set +a
  10. now="$(date +%Y-%m_%d-%H-%M-%S)"
  11. backup_path="${PWD}/backup-volumes/${now}"
  12. mkdir -p "${backup_path}"
  13. volumes="db root traefik-dynamic traefik-certs traefik-logs traefik-static webroot"
  14. for volume in ${volumes}; do
  15. mkdir -p "${backup_path}/${volume}"
  16. docker run \
  17. --rm \
  18. --volume "${backup_path}/${volume}":/destination \
  19. --volume "${PREFIX}-${volume}:/${volume}" \
  20. ubuntu \
  21. tar -cvzf "/destination/${volume}.tar.gz" -C "/${volume}" .
  22. done
  23. mkdir -p "${backup_path}/db"
  24. docker exec "${PREFIX}-db" \
  25. /usr/bin/mysqldump \
  26. -u root \
  27. --password="${DB_ROOT_PASSWORD}" \
  28. "${DB_NAME}" > "${backup_path}/db/${DB_NAME}.sql"