コンテナ内SQLバックアップ失敗対処法

ファイルは生成されるが、中身が更新されないパターン。

タイムスタンプも手動で該当シェルスクリプトを実行した時のまま。

#!/bin/bash

projectDirectory=/root/crm-systrem
backupDirectory=/tmp/backup

export PATH=/usr/local/bin:$PATH
cd  ${projectDirectory} 
docker-compose exec -T db bash -c 'mysqldump --no-tablespaces -u hogehoge -phogehoge laravel_local > /tmp/dump.sql'
docker cp `docker-compose ps -q db`:/tmp/dump.sql ${backupDirectory}/sql/backup_`date +%Y%m%d%H%M`.sql

解決方法

docker系のコマンドをフルパスで記載する

今回で言うと最後の2行

#!/bin/bash

projectDirectory=/root/crm-systrem
backupDirectory=/tmp/backup

export PATH=/usr/local/bin:$PATH
cd  ${projectDirectory} 
/usr/bin/docker-compose exec -T db bash -c 'mysqldump --no-tablespaces -u hogehoge -phogehoge laravel_local > /tmp/dump.sql'
/usr/bin/docker cp `docker-compose ps -q db`:/tmp/dump.sql ${backupDirectory}/sql/backup_`date +%Y%m%d%H%M`.sql

コマンドのフルパスはwhich docker-composeとかwhich dockerでわかる。

https://teratail.com/questions/m6x5vn42acbjg6#reply-314co18emt6f82

無制限に質問可能なプログラミングスクール!

万が一転職できない場合は、転職保障全額返金できるコースもあり!!

無制限のメンター質問対応

 

DMMウェブキャンプでプログラミングを学習しませんか?

独学より成長スピードをブーストさせましょう!

 

まずは無料相談から!

おすすめの記事