Description:
狡兔有三窟,時時不忘備份 ~ 最近發現 rsync 的小問題,在資料量日漸成長狀況下,發現 rsync 好像不能備份單一檔案大於 3G 的資料,因此我改變方式備份資料,改採 sftp 的服務將 BSD1 的資料備份到 BSD2 上的 HD 上,備份資料的方式採用最簡易的 shell script ,寫法如下:
Setp 1.
BSD1 上寫個自動備份的 shell script #vi autobackup.sh 內容如下:
#!/bin/sh
#
host="203.107.34.5"
id="帳號"
pw="密碼"
basedir="/data2/backup/ntut_backup"
remodir="/data2/backup/ntut_backup"
filename="*.tgz"
#
echo off
echo ' 先做本地資料備援 !!!'
cd /
tar -czvf /data2/backup/ntut_backup/ntut_etc.tgz /etc /usr/local/etc
tar -czvf /data2/backup/ntut_backup/ntut_home.tgz /home
tar -czvf /data2/backup/ntut_backup/ntut_mysql.tgz /var/db/mysql
tar -czvf /data2/backup/ntut_backup/ntut_www.tgz /usr/local/www
#
echo off
echo ' 再做遠端資料備援 !!!'
cd $basedir
sftp "$host" <<EOC
user $id $pw
binary
cd $remodir
put $filename
bye
EOC
#chmod 755 autobackup.sh 將 autobackup.sh 的權限改成可執行。
編輯 crontab #crontab -e 加入下面這行:
30 4 * * * /data/backup/autobackup.sh # 讓 BSD1 Server 每天零晨4點30分做一次資料備份
Setp 2.
BSD 2 上只要有 ssh 服務就可透過 sftp 接受遠端資料
To Add.
如何備份 mysql 資料庫的檔案?mysql 的資料庫檔案,是放置在 /var/db/mysql 下,因此我們需備份時,只需要備份此目錄下的資料即可。
範例如下:
#tar czvf mysql_backup.tgz /var/db/mysql
http://freebsd.ntut.idv.tw/document/backup_config_mysql.html