Linux自動(dòng)備份MySQL數(shù)據(jù)庫的實(shí)用方法

字號(hào):


    MySQL定期備份是一項(xiàng)重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統(tǒng)定期備份數(shù)據(jù)。
    ◆1、創(chuàng)建備份文件夾
    #cd /www
    #makedir backup
    ◆2、編寫運(yùn)行腳本
    #vi autobackup
    寫入以下內(nèi)容:
    filename=`date +%Y%m%d`
    mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip > /www/mysqlbackup/name$filename.gz
    保存退出
    說明:
    (1)mysql_bin_dir:mysql的bin路徑;
    (2)dataname:數(shù)據(jù)庫名;
    (3)user:數(shù)據(jù)庫用戶名;
    (4)password:用戶密碼;
    (5)name:自定義備份文件前綴標(biāo)識(shí)。
    如上例,將自動(dòng)備份mysql數(shù)據(jù)庫,并以gzip壓縮方式存儲(chǔ),文件名為name20080101.gz的形式。
    ◆3、為腳本添加執(zhí)行權(quán)限
    #chmod +x autobackup
    ◆4、讓crontab來完成定期執(zhí)行的任務(wù)
    這一步中,Redhat的方法會(huì)不一樣,后面專門給出。
    編輯crontab:
    #vi /etc/crontab
    在最后一行中加入:
    01 5 * * * root /www/autobackup
    每天5點(diǎn)運(yùn)行腳本,也可以修改5為其他指定時(shí)間。
    Redhat方法:
    Redhat的crontab采用按時(shí)間調(diào)用4個(gè)目錄(/etc/cron.hourly:每小時(shí);/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中腳本出來運(yùn)行的方式。
    Redhat中只需要將剛才編輯的腳本復(fù)制到相應(yīng)的目錄即可。
    ◆5、重啟crontab
    #/etc/rc.d/init.d/crond restart
    完成。