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"
沒有留言:
張貼留言