2020-11-03

ubuntu 備份 mysql

ubuntu 備份 mysql

一般使用 mysqldump 來備份 mysql 資料

# 只備份 schema mysqldump --no-data -u db_user -p'db_password' db_name > mybackup.sql

如果不想把 db_password 放在裡面,可以建立 ~/.my.cnf 輸入如下,並將檔案屬性設定為 600:

[mysqldump] user=db_user password=db_password

把要備份的檔案加上日期,將工作寫成 backup.sh:

#!/bin/bash today=`date +"%Y-%m-%d"` mysqldump --no-data db_name > "mybackup-${today}.sql"

搭配 crontab 使用,即可自動排程備份。以下是備份後複製到遠端主機,然後移除檔案:

#!/bin/bash today=`date +"%Y-%m-%d"` sqlFile="/root/db_bk/mydatabase-${today}-all.sql" mysqldump mydatabase > "${sqlFile}" scp -C "${sqlFile}" root@xxx.xxx.xxx.xxx:/mnt/volume_somewhere/db_bk/ rm "${sqlFile}" echo "ok"

沒有留言:

FB 留言