現在的位置: 首頁 > 資料庫 > 正文

WINDOWS MySQL伺服器 怎樣設置自動備份

2018年08月06日 資料庫 ⁄ 共 3139字 ⁄ 字型大小 評論關閉
WINDOWS MySQL伺服器 怎樣設置自動備份
[ 2010-10-11 15:24:00 | By: shavie ]
 

windows下:  
          具體來說,我們若需利用任務計劃程序自動運行則應執行如下步驟: 
  
  1.單擊「開始」按鈕,然後依次選擇「程序」→「附件」→「系統工具」→「任務計劃」(或者是「設置」→「控制面板」→「任務計劃」),啟動Windows   2000的任務計劃管理程序。 
  
  2.在「任務計劃」窗口中雙擊「添加任務計劃」圖標,啟動系統的「任務計劃嚮導」,然後單擊「下一步」按鈕,在給出的程序列表中選擇需要自動運行的應用程序,然後單擊「下一步」按鈕。 
          設置適當的任務計劃名稱並選擇自動執行這個任務的時間頻率(如每天、每星期、每月、一次性、每次啟動計算機時、每次登錄時等),然後單擊「下一步」按鈕。 
          此時系統將會要求用戶對程序運行的具體時間進行設置,如幾號、幾點鐘、哪幾個時間段才能運行等,我們只需根據自己的需要加以設置即可。 
  
  4.接下來系統將會要求用戶設置適當的用戶名及密碼(如圖5所示),以便系統今後能自動加以運行。 
  
  5.最後,我們只需單擊「完成」按鈕即可將相應任務添加到Windows   2000的任務計劃程序中,此後它就會自動「記住」這個任務,一旦系統時間及相關條件與用戶設置的計劃相符,它就會自動調用用戶所指定的應用程序,十分方便(每次啟動Windows   2000的時候,任務計劃程序都會自動啟動,並在後台運行,確保用戶的計劃能夠按時執行)。 
  
          現在我們來測試一下剛才所建的任務是否成功,滑鼠右鍵單擊「php」程序圖標(如圖6所示),在彈出的菜單裡面選擇「運行」。一般情況下程序圖標只要這樣激活運行就可以正常啟動。如果運行失敗可查看用戶和密碼是否設置正確,還有確定「Task   Scheduler」服務是否已啟動,本人當初就是為了節省系統資源把它關掉了導致運行失敗,害我找了大半天。另外也可從「系統日誌」里查看到底是什麼原因造成運行失敗的。 
  
          好了,講了這麼多任務計劃的應用,現在我們切入正題,下面將介紹兩個例子: 
  
  一、讓PHP定時運行吧! 
  1、       編輯如下代碼,並保存為test.php: 
  <?php   
  $fp   =   @fopen("test.txt",   "a+");   
  fwrite($fp,   date("Y-m-d   H:i:s")   .   "   讓PHP定時運行吧!/n");   
  fclose($fp);   
  ?> 
  
  2、添加一個任務計劃,在(如圖2所示)這一步輸入命令:D:/php4/php.exe   -q   D:/php4/test.php 
  
  3、時間設置為每隔1分鐘運行一次,然後運行這個任務。 
  
  4、現在我們來看看d:/php4/test.txt文件的內容時候是否成功。如果內容為如下所示,那麼恭喜你成功了。 
  
  2003-03-03   11:08:01   讓PHP定時運行吧! 
  2003-03-03   11:09:02   讓PHP定時運行吧! 
  2003-03-03   11:10:01   讓PHP定時運行吧! 
  2003-03-03   11:11:02   讓PHP定時運行吧! 
  
  二、讓MYSQL實現自動備份變成可能! 
  1、編輯如下代碼,並保存為backup.php,如果要壓縮可以拷貝一個rar.exe: 
  <?php   
  if   ($argc   !=   2   ||   in_array($argv[1],   array('--help',   '-?')))   {   
  ?>   
  backup     Ver   0.01,   for   Win95/Win98/WinNT/Win2000/WinXP   on   i32   
  Copyright   (C)   2000   ptker   All   rights   reserved.   
  This   is   free   software,and   you   are   welcome   to   modify   and   redistribute   it   
  under   the   GPL   license   
  
  PHP   Shell   script   for   the   backup   MySQL   database.   
  
  Usage:   <?php   echo   $argv[0];   ?>   <option>   
  
      <option>   can   be   database   name   you   would   like   to   backup.   
      With   the   --help,   or   -?   options,   you   can   get   this   help   and   exit.   
  <?php   
  }   else   {   
          $dbname   =   $argv[1];   
          $dump_tool   =   "c://mysql//bin//mysqldump";   
          $rar_tool   =   "d://php4//rar";   
          @exec("$dump_tool   --opt   -u   user   -ppassword   $dbname   >   ./$dbname.sql");   
          @exec("$rar_tool   a   -ag_yyyy_mm_dd_hh_mm   $dbname.rar   $dbname.sql");   
          @unlink("$dbname.sql");   
          echo   "Backup   complete!";   
  }   
  ?> 
  
  2、添加一個任務計劃,在(如圖2所示)這一步輸入命令: 
        D:/php4/php.exe   -q   D:/php4/backup.php   databasename 
  3、時間設置為每天運行一次,然後運行這個任務。 
  4、最後會在d:/php4/目錄下生成一個以資料庫名和當前時間組成的rar文件。 

linux下:

MySQL :: Linux 下自動備份資料庫的 shell 腳本
Linux 伺服器上的程序每天都在更新 MySQL 資料庫,於是就想起寫一個 shell 腳本,結合 crontab,定時備份資料庫。其實非常簡單,主要就是使用 MySQL 自帶的 mysqldump 命令。

腳本內容如下:
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME="test"
DB_USER="username"
DB_PASS="password"

# Others vars
BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/mysql/backup"
DATE=`date +%F`

# TODO
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz

然後使用將此腳本加到 /etc/crontab 定時任務中:

01 5 * * 0 mysql /home/mysql/backup.sh

好了,每周日凌晨 5:01 系統就會自動運行 backup.sh 文件備份 MySQL 資料庫了。

/home/www/inc/back

抱歉!評論已關閉.