33 lines
872 B
Bash
Executable File
33 lines
872 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
[ -z "${RCLONE_REMOTE}" ] && echo "\$RCLONE_REMOTE is not set" && exit 1
|
|
[ -z "${RCLONE_CONFIG}" ] && echo "\$RCLONE_CONFIG is not set" && exit 1
|
|
|
|
if [ -z "${ENC_PASSWORD}" ]
|
|
then
|
|
RESTIC_PASSWORD="${ENC_PASSWORD}"
|
|
else if [ -z "${ENC_PASSWORD_FILE}" ]
|
|
RESTIC_PASSWORD=$(cat $ENC_PASSWORD_FILE)
|
|
else
|
|
echo "\$ENC_PASSWORD or \$ENC_PASSWORD_FILE is not set" && exit 1
|
|
fi
|
|
|
|
if [ -z "${MYSQL_PASSWORD}" ]
|
|
then
|
|
MYSQL_PASSWORD_ACTUAL="${MYSQL_PASSWORD}"
|
|
else if [ -z "${MYSQL_PASSWORD_FILE}" ]
|
|
MYSQL_PASSWORD_ACTUAL=$(cat $MYSQL_PASSWORD_FILE)
|
|
fi
|
|
|
|
mkdir -p /backup/sqlDump
|
|
|
|
for db in ${MYSQL_DUMP_DB//,/ }
|
|
do
|
|
echo "Dumping db: $db"
|
|
mysqldump --compact -P 3306 --host $MYSQL_HOST -u "$MYSQL_USERNAME" "-p$MYSQL_PASSWORD_ACTUAL" "$db" > "/backup/sqlDump/$db.sql"
|
|
done
|
|
|
|
restic -r "rclone:$RCLONE_REMOTE" --verbose backup "/backup"
|