程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Linux服務器數據庫(MySQL、ORACLE)簡單的異地備份方案

Linux服務器數據庫(MySQL、ORACLE)簡單的異地備份方案

編輯:MySQL綜合教程


Linux服務器數據庫(MySQL、ORACLE)簡單的異地備份方案   Linux服務器MySQL數據庫簡單的異地備份方案   www.2cto.com   首先簡單說下:   1、執行腳本導出數據庫。   mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db/backup.sql   2、使用scp將導出的數據庫文件傳輸到其他服務器上,一般進行異地備份,容災。   scp -P 195 /bak/db/backup.sql [email protected]:/bak   其中195為ssh端口號,如果是默認的22,可以省略 -P 22。   -----------------------------------------------------------------   www.2cto.com   現在需要編寫一個sh腳本,並設定到定時任務中   sh腳本內容如下:   [java]  #!/bin/sh      filename=`date '+%Y%m%d-%H%M%S'`   filename="${filename}bak.sql"      mysqldump -h127.0.0.1 -P3306 -uroot -ppassword dbname > /bak/db/${filename}      scp -P 195 /bak/db/${filename} [email protected]:/bak      echo "success"   sh文件不要忘記使用 chmod +x backup.sh 進行授予可執行權限。 假設我們將sh文件存放與opt目錄下,需要配置一下定時任務   編輯文件:vi /etc/crontab 設定每天凌晨4點半執行 30 04 * * * root /bin/sh /opt/db/backup-database.sh   可以使用命令:cat /var/log/cron  查看定時任務執行日志 如上處理後,服務器就會自動進行數據庫備份並上傳到異地服務器上了,但是有個問題還需要解決,那就是讓scp命令不需要密碼才行。   具體配置方法參考:http://www.BkJia.com/os/201212/175290.html   下面說一下oracle與mysql的不同之處   oracle備份一般情況需要使用 su - oracle 切換到oracle用戶下才能執行,下面說一下直接在root用戶下如何進行操作。   特殊的地方就是,有的操作需要root用戶(比如無密碼scp操作,我這裡只是舉例),有的操作需要oracle用戶(exp導出用戶)。 關鍵命令:su - oracle -c "/opt/expdatabase.sh"  意思是在root用戶下不需要切換到oracle用戶,而直接使用oracle用戶的角色執行 expdatabase.sh 文件。   www.2cto.com   我們需要在 root 下的 sh 文件中調用 expdatabase.sh 文件。   shell 腳本如下:   1、主 sh 腳本,root 執行   [java]  #!/bin/sh      filename=`date '+%Y%m%d-%H%M%S'`   filename="${filename}bak.dmp"      su - oracle -c "/u01/oradata/bak/expdatabase.sh ${filename}"      scp -P 195 /u01/oradata/bak/${filename} [email protected]:/bak/202.102.41.35      echo "Execution completed"     2、需要用oracle用戶的角色來執行的sh腳本 expdatabase.sh [java]  #!/bin/sh      #進入oracle home   cd /u01/oracle   #加載oracle用戶環境變量   . ./.bash_profile      exp user/password@clmt file=/u01/oradata/bak/$1 full=y    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved