#!/bin/bash

ROOTPATH="/home/suwako/dev/kikikanri"
BCKPDIR=`cd ${ROOTPATH}/backup && pwd`
BACKEND=`cd ${ROOTPATH}/backend && pwd`
source ${BACKEND}/.env
TIME=`date '+%Y%m%d%H'`

echo "バックアップフォルダ＝${BCKPDIR}"
echo "バックエンドフォルダ＝${BACKEND}"
echo "${TIME} MYSQLバックアップ開始"

# DBコンテナ
DBCONTID=`docker ps -q -f status=running -f name=db`
if [ -z "$DBCONTID" ]; then
  echo "db は起動されていません。"
  exit 0
fi

# アプリコンテナ
FLCONTID=`docker ps -q -f status=running -f name=app`
if [ -z "$FLCONTID" ]; then
  echo "app は起動されていません。"
  exit 0
fi

# DBバックアップ
echo "${BACKEND} MYSQLバックアップ開始"
DNAME="${TIME}_mysql.sql"
echo "ファイル名＝${DNAME}"
docker exec $DBCONTID mysqldump --no-tablespaces --user=$DB_USERNAME --host=$DB_HOST --password=$DB_PASSWORD --databases $DB_DATABASE > "${BCKPDIR}/mysql/${DNAME}"

gzip "$BCKPDIR/mysql/$DNAME"

# ファイルバックアップ
echo "${BACKEND} ファイルバックアップ開始"
FNAME="${TIME}.tar.gz"
echo "ファイル名＝${FNAME}"
docker exec $FLCONTID tar zcf $FNAME -C / work/storage/app/private
mv ${BACKEND}/${FNAME} ${BCKPDIR}/file

# 7日より古いファイルを削除
echo "7日より古いファイルを削除"
find ${BCKPDIR}/mysql -type f -name "${TIME}_mysql.sql.gz" -mtime +7 | xargs rm -f;
find ${BCKPDIR}/file -type f -name "${TIME}.tar.gz" -mtime +7 | xargs rm -f;
