最近因為換新筆電 要裝開發環境

想把主機上的多個資料庫 複製到本機

寫了一個可以重複使用的腳本

會直接讀取 .env 檔案

把主機的 mysql db 複製到本機 laradock 內的 mysql

clone_production_database.sh

#!/bin/bash

set -e

SERVER_LARAVEL_APP_PATH='/home/codelove.tw'

echo Start exporting database on the server...

MAIN_TASK="cd ${SERVER_LARAVEL_APP_PATH}"
MAIN_TASK+=' && export $(grep -v "^#" .env | xargs)'
MAIN_TASK+=' && mysqldump --no-tablespaces -h ${DB_HOST} -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_DATABASE} > ${DB_DATABASE}.sql'
ssh tony-main-server ${MAIN_TASK}

echo Start downloading database to the local...

export $(grep -v "^#" .env | xargs)
scp -r tony-main-server:${SERVER_LARAVEL_APP_PATH}/${DB_DATABASE}.sql .

echo Start importing database within the docker...

docker-compose -f ~/laradock-projects/laradock/docker-compose.yml exec -T mysql mysql -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_DATABASE} < ${DB_DATABASE}.sql

echo Done.

因為我大多數專案的結構接近,這段腳本,只要修改 SERVER_LARAVEL_APP_PATH 變數,就可換專案使用


每週二 YT 直播問答,DC 可 Call-in,一起討論技術、職涯發展。
YT 👇👇👇
https://www.youtube.com/@codelove_tw
DC 👇👇👇
https://discord.gg/fvCF2whZ9D
按讚的人:

共有 0 則留言


每週二 YT 直播問答,DC 可 Call-in,一起討論技術、職涯發展。
YT 👇👇👇
https://www.youtube.com/@codelove_tw
DC 👇👇👇
https://discord.gg/fvCF2whZ9D
🏆 本月排行榜
🥇
站長阿川
📝10   💬6   ❤️6
453
🥈
我愛JS
📝1   💬5   ❤️4
94
🥉
AppleLily
📝1   💬4   ❤️1
55
#4
💬1  
5
#5
xxuan
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次