當前位置:首頁 » 數據倉庫 » 自動備份資料庫腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

自動備份資料庫腳本

發布時間: 2022-11-02 23:12:42

1. 如何使用shell腳本每天自動備份mysql資料庫

mysql備份用自帶的備份工具mysqlmp
每天自動執行用cron工具,把mysql的備份命令放在.sh文件裡面
.sh文件放在/etc/cron.daily目錄,就會每天自動執行了。

2. oracle資料庫如何每天自動執行腳本完成正式資料庫到備份資料庫的備份

寫個腳本完成正式資料庫到備份資料庫的備份
再設定Task Schele 每天某個時間自動執行這個腳本

3. 怎麼備份遠程mysql資料庫的腳本文件

在MySQL中進行數據備份的方法有兩種:
1. mysqlhot
這個命令會在拷貝文件之前會把表鎖住,並把數據同步到數據文件中,以避免拷貝到不完整的數據文件,是最安全快捷的備份方法。
命令的使用方法是:
mysqlhot -u root -p<rootpass> db1 db2 … dbn <output_dir>
如果需要備份全部資料庫,可以加上–regexp=」.*」參數。
Mysqlhot命令可自動完成數據鎖定工作,備份時不用關閉伺服器。它還可以刷新日誌,使備份文件和日誌文件的檢查點能保持同步。
2. mysqlmp
這個命令是用來把資料庫倒成sql文件的,是非常古老的命令了。
命令的使用方法是:
mysqlmp -u root -p<rootpass> –hex-blob db1 > db1.sql
加上–hex-blob參數以後,blob數據會被類似BASE64的方法轉換為文本來存儲在sql文件中,就不會導致sql文件格式問題了。經過測試,通過這種方法備份的blob數據再重新恢復回去能夠完全正確。
如果要備份所有的資料庫,可以加上–all-databases參數。
用mysqlmp命令還可直接把資料庫轉移到另外一台伺服器上,不用生成備份文件。重復執行可定期更新遠程資料庫。
% mysqladmin -h remote_host create testdb
% mysqlmp –opt testdb | mysql -h remote_host testdb
另外還可通過ssh遠程調用伺服器上的程序,如:
% ssh remote_host mysqladmin create testdb

4. 如何使用crontab每天自動備份Mysql資料庫

運行ssh工具putty,輸入伺服器地址,帳號和密碼連接上伺服器:
切換到mysql安裝目錄下,然後使用VI創建一個文件(backup_mydb.sh):
【PS:vi操作方法:按「i」可寫,寫好保存先按「ESC」,然後按「:(shift + ;)」,寫入「wq」,寫入退出即可。】
以下為具體腳本:
#!/bin/sh
# File: /路徑/mysql/backup_mydb.sh
# Database info
DB_NAME="mydb"
DB_USER="root"
DB_PASS="passwd"

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

# TODO
$BIN_DIR/mysqlmp --opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip >$BCK_DIR/db_$DATE.gz
以上為腳本,注意好路徑,確認正確後保存退出。

4
ls -l backup_mydb.sh 查看該腳本文件是否有執行許可權,例如執行chmod 777 backup_mydb.sh,具體多大許可權自己處理!
END
添加crontab任務
對於crontab任務有兩種方式,一種為root用戶可以直接添加;一種為非root用戶需要crontab -e方式來添加;本篇著重以root用戶來講解,執行:
vi /etc/crontab

在最下面添加一條:
0 3 * * * root /路徑/backup_mydb.sh
意思就是在每天的3點0分執行這個文件;
寫好後保存退出crontab。
重啟crontab服務
/etc/init.d/crond restart

END
驗證是否成功執行
可以把任務執行的時間調整到伺服器時間後兩分鍾,然後重啟crontab,看看是否成功備份指定的資料庫!
如果不成功的話,可以手動執行腳本查看是否成功備份,如果備份成功

5. centos 6.5 mysql 自動備份資料庫腳本怎麼寫

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#資料庫用戶名
dbuser='root'
#資料庫用密碼
dbpasswd='********'
需要備份的資料庫,多個資料庫用空格分開
dbname='xiaohuai xiaohuai2'
#備份時間
backtime=`date +%Y%m%d%H%M%S`
#日誌備份路徑
logpath='/home/mysqlbak'
#數據備份路徑
datapath='/home/mysqlbak'
#日誌記錄頭部
echo 『"備份時間為${backtime},備份資料庫表 ${dbname} 開始" >> ${logpath}/log.log
#正式備份資料庫
for table in $dbname; do
source=`mysqlmp -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;

6. 如何使用腳本自動備份阿里雲rds資料庫

1、在ECS上使用mysqlmp進行邏輯備份,再中轉到本地伺服器。使用ECS中轉是為了避免將RDS暴露到公網上。
2、在RDS控制台上的「備份恢復」中找到「數據備份」,七天內的全量備份是帶有下載地址的。點擊後會產生一個24小時有效的下載地址。下載回去後按照文檔說明進行恢復。

7. 如何進行mysql資料庫自動備份

打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。

雙擊上面的可用任務,它就會到下面的列表裡去,代表你選擇了這個任務。

點擊保存,彈出個命名對話框,給這個任務取個名字,點擊「確定」。

點擊「設置」計劃任務。

彈出的對話框,選擇「計劃」,再點擊「新建」。

這里設置為從2014年1月24號起每天早上九點備份該資料庫。如果你想提高備份頻率、或者設置備份截止日期,請點擊「高級」。

高級選項可以把備份設置的更精細,比如這里設置的是在24小時內每隔2小時就備份一次。加上前面的基本設置,任務計劃就是:從2014年1月24號開始,每天九點,每隔2小時備份一次,每天的備份都持續24小時。

最後,輸入電腦密碼就大功告成。

8. 如何編寫一個windows下的oracle自動備份腳本

@echo off
echo ================================================
echo Windows環境下Oracle資料庫的自動備份腳本
echo 1. 使用當前日期命名備份文件。
echo 2. 自動刪除7天前的備份。
echo ================================================
::以「YYYYMMDD」格式取出當前時間。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::設置用戶名、密碼和要備份的資料庫。
set USER=xxx
set PASSWORD=123456
set DATABASE=dbtest
::創建備份目錄。
if not exist "D:\backup\data" mkdir D:\backup\data
if not exist "D:\backup\log" mkdir D:\backup\log
set DATADIR=D:\backup\data
set LOGDIR=D:\backup\log
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
::刪除7天前的備份。
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit

9. 請問mysql怎麼自動備份資料庫

資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。

工具/原料



navicat for mysql

mysql 5.5

方法/步驟

  1. 打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。


10. 如何使用crontab每天自動備份Mysql資料庫

1、建立自動備份腳本
為了使資料庫備份和恢復的符合我們的實際要求(備份保留七天,每天凌晨備份一次),用一段符合要求的Shell腳本來實現整個備份過程的自動化。
[root@mysqltest ~]# vim mysql-backup.sh
#!/bin/bash
##作者:Barlow##
##最後修訂:2013-6-25##
#腳本作用:備份Mysql資料庫
#
#設定備份保留天數K
K=7
#
TODAY=`date '+%Y%m%d'`
KDAY=`date -d "$TODAY - $K day" '+%Y%m%d'`
BACKDIR=/var/mysqlbak/$TODAY
KDAYDIR=/var/mysqlbak/$KDAY
mkdir -p $BACKDIR
#
# The Password of MySQL
ROOTPASS=******* ##將*替換為實際mysql資料庫的root密碼
#
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
#
# Backup with Database
for dbname in $DBLIST
do
mysqlhot $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhot
done
#
#刪除過期備份
if [ -d "$KDAYDIR" ];then
rm -rf $KDAYDIR
exit
fi
改變腳本許可權,root具有完全許可權,其他用戶沒有任何許可權:
[root@mysqltest ~]# chmod 700 mysql-backup.sh
運行一次腳本:
[root@mysqltest ~]# ./mysql-backup.sh
查看運行結果:
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
mysql/ wordpress/
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
總用量 8
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 mysql
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 wordpress
可以看到備份已經成功完成。
2、創建自動任務每天運行
[root@mysqltest ~]# crontab -e
00 01 * * * /root/mysql-backup.sh
##每天凌晨1點運行一次