
ファイルは生成されるが、中身が更新されないパターン。
タイムスタンプも手動で該当シェルスクリプトを実行した時のまま。
#!/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