Last active
October 29, 2022 12:07
-
-
Save dginhoux/3e1f0706e2e2d7aa2134e03efd98db61 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM alpine:3.16.2 | |
| MAINTAINER "docker@ginhoux.net" | |
| LABEL maintainer="docker@ginhoux.net" | |
| LABEL image="ginhoux.net/pgdump-cron" | |
| LABEL tag="v5-alpine3.16.2" | |
| LABEL description="" | |
| RUN apk add --no-cache postgresql-client tzdata && \ | |
| echo "Europe/Paris" > /etc/timezone | |
| ENTRYPOINT ["crond", "-f"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| export dumpdate="$( date "+%Y%m%d_%H%M" )" | |
| # export dumpdate="$( date "+%Y%m%d" )" | |
| export dbport="5432" | |
| export dbuser="pgdump" | |
| export dbpassword="EEE" | |
| function backup () { | |
| dbhostname="$1" | |
| dbuser="$2" | |
| dbpassword="$3" | |
| dbname="$4" | |
| dbschema="$5" | |
| export PGPASSWORD="${dbpassword}" | |
| if /usr/bin/pg_isready --host=${dbhostname} --port=${dbport}; then | |
| if [ ! -d /pgdump/${dbhostname} ]; then mkdir /pgdump/${dbhostname}; fi | |
| echo --------------- | |
| echo --------------- | |
| echo --------------- START FULL ${dbhostname} ${dbname} ${dbschema} | |
| /usr/bin/pg_dump --verbose --no-comments --username=${dbuser} --port=${dbport} --dbname=${dbname} --host=${dbhostname} --format=p --schema=${dbschema} --inserts | gzip -7 > /pgdump/${dbhostname}/${dbname}_${dbschema}_${dumpdate}_full.sql.gz | |
| echo --------------- END FULL ${dbhostname} ${dbname} ${dbschema} | |
| echo --------------- START STRUCTURE ${dbhostname} ${dbname} ${dbschema} | |
| /usr/bin/pg_dump --verbose --no-comments --username=${dbuser} --port=${dbport} --dbname=${dbname} --host=${dbhostname} --encoding=utf8 --format=p --schema=${dbschema} --inserts --schema-only | gzip -7 > /pgdump/${dbhostname}/${dbname}_${dbschema}_${dumpdate}_structure.sql.gz | |
| echo --------------- END STRUCTURE ${dbhostname} ${dbname} ${dbschema} | |
| echo --------------- START DATA ${dbhostname} ${dbname} ${dbschema} | |
| /usr/bin/pg_dump --verbose --no-comments --username=${dbuser} --port=${dbport} --dbname=${dbname} --host=${dbhostname} --encoding=utf8 --format=p --schema=${dbschema} --inserts --data-only | gzip -7 > /pgdump/${dbhostname}/${dbname}_${dbschema}_${dumpdate}_data.sql.gz | |
| echo --------------- END DATA ${dbhostname} ${dbname} ${dbschema} | |
| echo --------------- | |
| echo --------------- | |
| fi | |
| } | |
| backup "authelia-ginhoux-app_pgsql" "${dbuser}" "${dbpassword}" "authelia" "authelia" | |
| backup "authelia-ginhoux-cloud_pgsql" "${dbuser}" "${dbpassword}" "authelia" "authelia" | |
| backup "authelia-ginhoux-net_pgsql" "${dbuser}" "${dbpassword}" "authelia" "authelia" | |
| backup "authelia-ginhoux-org_pgsql" "${dbuser}" "${dbpassword}" "authelia" "authelia" | |
| backup "authelia-mystack-fr_pgsql" "${dbuser}" "${dbpassword}" "authelia" "authelia" | |
| backup "authelia-orchestre-elyps-fr_pgsql" "${dbuser}" "${dbpassword}" "authelia" "authelia" | |
| backup "git-user_pgsql" "${dbuser}" "${dbpassword}" "gitea" "gitea" | |
| backup "git-system_pgsql" "${dbuser}" "${dbpassword}" "gitea" "gitea" | |
| backup "grafana_pgsql" "${dbuser}" "${dbpassword}" "grafana" "grafana" | |
| backup "mail_pgsql" "${dbuser}" "${dbpassword}" "mail" "mail" | |
| backup "mail_pgsql" "${dbuser}" "${dbpassword}" "roundcube" "public" | |
| backup "metabase_pgsql" "${dbuser}" "${dbpassword}" "metabase" "metabase" | |
| backup "n8n_pgsql" "${dbuser}" "${dbpassword}" "n8n" "n8n" | |
| backup "nextcloud_pgsql" "${dbuser}" "${dbpassword}" "nextcloud" "nextcloud" | |
| # backup "netbox_pgsql" "${dbuser}" "${dbpassword}" "netbox" "netbox" | |
| backup "pdns-internal_pgsql" "${dbuser}" "${dbpassword}" "authorative" "authorative" | |
| backup "pdns-internal_pgsql" "${dbuser}" "${dbpassword}" "pdnsadmin" "pdnsadmin" | |
| backup "pdns-external_pgsql" "${dbuser}" "${dbpassword}" "authorative" "authorative" | |
| backup "pdns-external_pgsql" "${dbuser}" "${dbpassword}" "pdnsadmin" "pdnsadmin" | |
| backup "opensol_pgsql" "${dbuser}" "${dbpassword}" "opensol" "opensol" | |
| backup "statping_pgsql" "${dbuser}" "${dbpassword}" "statping" "statping" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment