Last active
October 29, 2022 12:08
-
-
Save dginhoux/7bea4df1c162e9cddef5ae5cef8edb17 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 "[email protected]" | |
LABEL maintainer="[email protected]" | |
LABEL image="ginhoux.net/mysqldump-cron" | |
LABEL tag="v4-alpine3.16.2" | |
LABEL description="" | |
RUN apk add --no-cache mysql-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="3306" | |
export dbuser="ZZZ" | |
export dbpassword="AAA" | |
function backup () { | |
dbhostname="$1" | |
dbuser="$2" | |
dbpassword="$3" | |
dbname="$4" | |
if [ ! -d /mysqldump/${dbhostname} ]; then mkdir /mysqldump/${dbhostname}; fi | |
echo --------------- | |
echo --------------- | |
echo --------------- START FULL ${dbhostname} ${dbname} | |
/usr/bin/mysqldump --verbose --skip-comments --user=${dbuser} --password=${dbpassword} --port=${dbport} --host=${dbhostname} --databases ${dbname} --skip-add-drop-table --skip-lock-tables --no-create-db --default-character-set=utf8 --extended-insert | gzip -7 > /mysqldump/${dbhostname}/${dbname}_${dumpdate}_full.sql.gz | |
echo --------------- END FULL ${dbhostname} ${dbname} | |
echo --------------- START STRUCTURE ${dbhostname} ${dbname} | |
/usr/bin/mysqldump --verbose --skip-comments --user=${dbuser} --password=${dbpassword} --port=${dbport} --host=${dbhostname} --databases ${dbname} --skip-add-drop-table --skip-lock-tables --no-create-db --default-character-set=utf8 --no-data | gzip -7 > /mysqldump/${dbhostname}/${dbname}_${dumpdate}_structure.sql.gz | |
echo --------------- END STRUCTURE ${dbhostname} ${dbname} | |
echo --------------- START DATA ${dbhostname} ${dbname} | |
/usr/bin/mysqldump --verbose --skip-comments --user=${dbuser} --password=${dbpassword} --port=${dbport} --host=${dbhostname} --databases ${dbname} --skip-add-drop-table --skip-lock-tables --no-create-db --default-character-set=utf8 --extended-insert --no-create-info | gzip -7 > /mysqldump/${dbhostname}/${dbname}_${dumpdate}_data.sql.gz | |
echo --------------- END DATA ${dbhostname} ${dbname} | |
echo --------------- | |
echo --------------- | |
} | |
# backup "blog_mysql" "${dbuser}" "${dbpassword}" "blog" | |
# backup "elyps_mysql" "${dbuser}" "${dbpassword}" "elyps" | |
backup "ipam_mysql" "${dbuser}" "${dbpassword}" "phpipam" | |
# backup "rundeck_mysql" "${dbuser}" "${dbpassword}" "rundeck" | |
backup "vaultwarden_mysql" "${dbuser}" "${dbpassword}" "vaultwarden" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment