<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    方偉的博客
    j2ee技術、網絡、web等,同名的人真多,我的QQ是20025404
    posts - 21,comments - 14,trackbacks - 0
    以下是windows下的批處理:
    1set hour_str=%time:~0,2%
    2if "%hour_str:~0,1%"==" " set "hour_str=0%hour_str:~1%"
    3set fileName=%date:~0,4%-%date:~5,2%-%date:~8,2%_%hour_str%%time:~3,2%%time:~6,2%
    4D:
    5cd D:\autobak\
    6mysqldump 數據庫名(改我) -u root -p密碼(改我) >%fileName%.sql
    7jar cf %fileName%.zip %fileName%.sql
    8del %fileName%.sql


    使用前,需要保證環境變量的path中加入jar和mysqldump等路徑,批處理解釋如下:
    1、前三句只是為了生成文件名,這里第2行:if "%hour_str:~0,1%"==" " set "hour_str=0%hour_str:~1%"是為了解決上午時,小時變成一位,導致文件名中包含一個空格,從而創建文件失敗的問題,即假設9點的時候,把“空格9”變成“09”。
    2、第4、5行是為了切換到保存的目錄,也可以在第6、7行寫死,當然,如果想自動獲取路徑也可以,用:
    %~d0
    cd %~dp0
    替換4、5行,可以自動放到當前bat批處理所在盤的根目錄,適合懶人:)
    3、第6行是導出數據庫為sql腳本,但這里不見得全庫導出,也可以只導某個表,具體命令就不說了。
    4、第7行是用jar壓縮一下,由于導出的是文本,壓縮率是很高的,這樣很節省空間。(當然也可以用zip、rar等,只是我搞java開發,用習慣了jar。)
    5、第8行是刪除未壓縮的文件,只保留壓縮后的zip包。
    以上批處理創建后,在定時任務中添加一個任務,定時執行就可以了,我一般給一些小系統都設置從早上8點開始,每隔4個小時備份一次,然后執行到晚上8點。另外,由于文件名都是基于時間的,那么很容易就可以實現保留最近7天、以及同時上傳到異地ftp服務器的功能,這些大家可以自由發揮。

    linux、mac下應該也都類似,大家自己寫個sh腳本就行了,至于mysql的恢復,更加簡單,把sql解壓出來后,執行:
    mysql -u root -p密碼 數據庫名 <xxx.sql
    這樣就可以自動還原回來,如果數據庫已經存在,會自動覆蓋(也可能是增量,看導出的sql了)。

    其實以上腳本其實也適合其它數據庫,只是sqlserver、db2等都有自己的自動備份機制,倒不是必須用這個。


    posted on 2013-05-31 22:50 方偉的博客 閱讀(4247) 評論(4)  編輯  收藏 所屬分類: 數據庫

    FeedBack:
    # re: MySQL自動備份和手工恢復(可實現定時備份、保留最近7天、異地備份)
    2014-05-20 13:15 | 路過
    最關鍵的沒說,說的都是垃圾  回復  更多評論
      
    # re: MySQL自動備份和手工恢復(可實現定時備份、保留最近7天、異地備份)
    2014-05-21 23:27 | 測試
    @路過
    腳本測試了下可行啊,基本該說的都說了啊  回復  更多評論
      
    # re: MySQL自動備份和手工恢復(可實現定時備份、保留最近7天、異地備份)
    2021-11-14 23:26 | 方偉的博客
    @路過
    也沒人問啊  回復  更多評論
      
    # re: MySQL自動備份和手工恢復(可實現定時備份、保留最近7天、異地備份)
    2021-11-14 23:29 | 方偉的博客
    @路過
    centos7下保留最近10天的備份:

    #!/bin/bash

    #定義備份文件路徑
    BACKUPDIR=/root/xxx/
    #定義需要刪除的文件距離當前的天數
    KEEPTIME=10
    #找到天數大于N天的文件
    DELFILE=`find $BACKUPDIR -type f -mtime +$KEEPTIME -exec ls {} \;`
    #循環刪除滿足天數大于N天的文件
    for delfile in ${DELFILE}
    do
    rm -f $delfile
    done
      回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲а∨天堂久久精品9966| 亚洲AV日韩综合一区尤物| 亚洲一区二区三区成人网站| 亚洲日韩在线观看免费视频| 120秒男女动态视频免费| 国产做床爱无遮挡免费视频| 亚洲VA中文字幕不卡无码| 亚洲日韩中文字幕一区| 免费观看久久精彩视频| 国产国产人免费人成免费视频| 亚洲成AV人片在线观看| 国产精品久久久久久亚洲小说| 无码成A毛片免费| 免费又黄又爽的视频| 亚洲一区电影在线观看| 中文字幕在线免费看| 青草草在线视频永久免费| 亚洲国产成人久久精品动漫| 精品女同一区二区三区免费播放 | 在线看片免费人成视频福利| 巨胸喷奶水视频www网免费| 亚洲av网址在线观看| 国产亚洲精品成人久久网站| 国产91色综合久久免费分享| 亚洲中文字幕无码久久精品1| 亚洲丰满熟女一区二区哦| 99免费视频观看| 中文字幕亚洲日韩无线码| mm1313亚洲国产精品无码试看| 91在线老王精品免费播放| 国产亚洲精品线观看动态图| 亚洲精华国产精华精华液 | 亚洲国产成人久久精品99 | 亚洲AV成人影视在线观看| 久久狠狠躁免费观看2020| 亚洲毛片不卡av在线播放一区| 亚洲啪AV永久无码精品放毛片 | 成年人视频在线观看免费| 久久亚洲AV无码精品色午夜麻豆| 国产一级婬片A视频免费观看| 免费国产真实迷j在线观看|