天天看點

mysql定時任務每天淩晨三點鐘醒來_linux計劃任務每天淩晨3點執行mysql資料庫的備份腳本.docx...

linux計劃任務每天淩晨3點執行mysql資料庫的備份腳本

一、用指令實作備份  首頁進入mysql的bin目錄  1、備份資料  #mysqldump-uusername-ppassworddiscuz>discuz_  這樣就把discuz資料庫所有的表結構和資料備份到discuz_裡了,如果資料量大會占用很大空間,這時可以利用gzip壓縮資料,  指令如下:  #mysqldump-uusername-ppassworddiscuz|gzip>discuz_  系統崩潰,重建系統時,可以這樣恢複資料:  #mysql-uusername-ppassworddiscuz  +%Y-%m-%d_%H%M%S`.  3、修改檔案屬性,使其可以執行  #chmod+x/usr/sbin/bakmysql  4、修改/etc/crontab  在下面添加  013***root/usr/sbin/bakmysql  表示每天3點鐘執行備份crontab使用說明  5、重新啟動crond  #/etc///crondrestart  完成。  三、資料的恢複/mysqldata/uptry`date  首頁進入mysql的bin目錄建立資料庫  #mysqladmincreatediscuz恢複資料  #mysqldiscuztd_  ::E:\MYOA\mysql\bin\-uroot-pmyoa888td_oa>td_  rara%filename%td_  ::%windir%\System32\a%filename%td_  move%filename%F:\OA_BACKUP\%dirname%  deltd_  echo資料庫備份完成!  echo.&pause  備份過程中遇到的問題:  (1)建立檔案夾失敗。在windowsXX下,預設的日期格式為類似  XX/12/27的樣式,在根據日期建立檔案夾或者檔案時由于windows不允許有“/”特殊字元的存在,故報建立錯誤。這裡使用“set  nowdate=%date:~0,4%%date:~5,2%%date:~8,2%”分别取得年、月、日拼湊的形式變相實作。  (2)環境變量問題。在寫完上述腳本後,輕按兩下bat檔案可以無誤順利的執行,但是扔到計劃任務執行時就總是報錯,具體為rar和mysqldump指令不存在。我懷疑是環境變量的設定沒有生效,由于在伺服器上不能輕易的執行伺服器的重新開機,這裡用rar和mysqldump的完整路徑來代替  附:常見dos指令  下的複制和移動  c盤下的檔案複制或移動到d盤  指令為:  複制copyc:\d:\  移動movec:\d:\  下的條件判斷  ifnotexistF:\OA_BACKUP\%dirname%mdF:\OA_BACKUP\%dirname%  下的目錄建立和删除  MD——建立子目錄  RD——删除子目錄  4.關于%DATE:~4,10%的格式  這個指令的意思就是在DATE的輸出中,取4-10中間的字元。  對于不同的機器,可能有不同的時間格式,這個可以在控制台裡設定。可以通過ECHO指令察看目前設定,如:  C:>echo%DATE%  星期一XX-10-28  當然,我們可以同樣取到星期的值:  C:>echo%DATE:~0,3%  星期一  當然也可以從不同方向來:  C:>echo%DATE:~-10%  XX-10-28  C:>echo%DATE:~0,-10%  星期一  5.rar指令解壓縮檔案前要進行的操作:  1〉将檔案拷貝到system32檔案夾下;  2〉将winRAR的安裝路徑放到環境變量中  rar打封包件:  rara%filename%.rar%filename%.*  rar解壓縮檔案  rare%filename%.rar  6.用jar打包解壓檔案必須在目前系統中裝有jre環境  jar打封包件:  jarcvf%filename%.jar%filwname%.*  jar解壓縮檔案:  jarxvf%filename%.jar  先建立一個的檔案在把下面的内容添加進去改改實際路徑  做個計劃任務就自動備份了指令:crontab-e  #!/bin/bash  #  #備份至/root/bak/  BackupPath=/root/bak/  LogFile=/root/bak/  DBPath=/usr/local/app/#需要備份的目錄  NewFile="$BackupPath"app_bac