46 行
1.4 KiB
Bash
実行ファイル
46 行
1.4 KiB
Bash
実行ファイル
#!/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;
|