#!/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;