當前位置:首頁 » 操作系統 » centos資料庫自動備份

centos資料庫自動備份

發布時間: 2022-05-23 08:31:19

A. oracle11g怎麼在centos6.2上自動備份

首先,你要寫一個RMAN的備份腳本。並未RMAN制定一個備份策略。比如備份保存多少天。
然後,你要建一個oracle的定時job來自動執行。或者寫一個linux的腳本來執行
具體內容請~~ 或者另外開問題來問。。。因為較麻煩~~

另外,好像在EM(網頁管理器)裡面有設置自動備份的內容,應該很方便。你可以去看看

B. 請教11g 在centos6.5 下資料庫備份

#!/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;

C. centos每天自動備份mysql資料庫問題

腳本如下
#!/bin/bash
#功能說明:本功能用於備份資料庫
#編寫日期:**********
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#資料庫用戶名
dbuser='root'
#資料庫密碼
dbpasswd='123456'
#資料庫名,可以定義多個資料庫,中間以空格隔開,如:test test1 test2
dbname='test1 test2'
#備份時間
backtime=`date +%Y%m%d%H%M%S`
#日誌備份路徑
logpath='/second/backup'
#數據備份路徑
datapath='/second/backup'
#日誌記錄頭部
echo 『"備份時間為${backtime},備份資料庫表 ${dbname} 開始" >> ${logpath}/mysqllog.log
#正式備份資料庫
for table in $dbname; do
source=`mysqlmp -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
#備份成功以下操作
if [ "$?" == 0 ];then
cd $datapath
#為節約硬碟空間,將資料庫壓縮
tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null
#刪除原始文件,只留壓縮後文件
rm -f ${datapath}/${backtime}.sql
echo "資料庫表 ${dbname} 備份成功!!" >> ${logpath}/mysqllog.log
else
#備份失敗則進行以下操作
echo "資料庫表 ${dbname} 備份失敗!!" >> ${logpath}/mysqllog.log
fi

done
定時執行腳本:
方式:
1、
執行 crontab -e
輸入以下內容:
______________________________________________________________________________
00 00 * * * /bin/bash yourpath/mysqlbak.sh
2、
打開自動執行文件
vi /etc/crontab
在etc中加入如下內容,讓其自動執行任務。
00 00 * * * root /mysqlbak.sh
以上兩個 00 00 *** 為每天的凌晨自動執行腳本
分 時 日 月 周 命令M: 分鍾(0-59)。每分鍾用*或者 */1表示H:小時(0-23)。(0表示0點)D:天(1-31)。m: 月(1-12)。d: 一星期內的天(0~6,0為星期天)。
3、
Redhat方法:
Redhat的crontab採用按時間調用4個目錄(/etc/cron.hourly:每小時;/etc/cron.daily:每
天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中腳本出來運行的方式。
Redhat中只需要將剛才編輯的腳本復制到相應的目錄即可。
cp /autobackupmysql.sh etc/cron.daily
重啟etc
/etc/rc.d/init.d/crond restart

這樣能保證每日跟新准確!!!!!謝謝為您解答!!!!!!

D. 阿里雲centos7伺服器怎麼備份mysql資料庫

在伺服器上安裝一個phpmyadmin,就可以通過網頁的方式進行管理mysql
或者是直接備份mysql的數據文件夾
centos系統的話,數據文件夾在mysql安裝目錄下的var目錄
直接將此目錄下的文件一份到本地,就可以了。

E. CentOS中如何備份mysql資料庫

1 mysqlmp -u(root) -p(password) -h(first host ip) (database name) | mysql -u(root) -p(password) -h(second host ip) (database name)
2 8G就可以了,一般是內存*2。swap如果使用過多,就該考慮增加內存了。

F. centos 下mysql怎麼定時備份到本地

寫個sh腳本大致內容mysql.sh
mysqlmp -uroot -ptest test>/root/backup/test`date +%Y-%m-%d`.sql

然後計劃任務跑下
vi /etc/crontab

G. CentOS如何備份策略

備份要點

備份資料的考慮

造成系統損壞的問題:

硬體問題:硬碟毀壞

軟體問題:誤刪除、安全攻擊、

主機角色不同,備份任務也不同

備份因素考慮

備份哪些文件

選擇什麼備份的設備

考慮備份的方式

備份的頻率

備份使用的工具

備份哪些 Linux 數據

具有備份意義的文件通常可以粗分為兩大類:

1.系統基本設置信息

2.類似網路服務的內容數據

操作系統本身需要備份的文件:

1./etc/ 整個目錄

2./home 整個目錄

3./var/spool/mail

4./boot

5./root

6.如果安裝過其他的套件,那麼 /usr/local 或 /opt 也最好備份一下

網路服務的資料庫方面

1.軟體本身的配置文件,例如:/etc/整個目錄,/usr/local/整個目錄

2.軟體服務提供的數據,以 WWW 及 MySQL 為例

WWW 數據:/var/www 整個目錄或 /srv/www 整個目錄,及系統的用戶主文件夾

MySQL:/var/lib/mysql 整個目錄

3.其他在 Linux 主機上面提供服務的資料庫文件

推薦需要備份的目錄

1./boot

2./etc

3./home

4./root

5./usr/local (或者是 /opt 及 /srv 等)

6./var (註:若這個目錄當中有些臨時目錄則可以不備份)

不需要備份的目錄

1./dev

2./proc

3./mnt 與 /media

4./tmp

選擇備份設備

存儲設備的考慮

備份速度要求:思考硬碟用途

存儲容量:磁帶備份考慮

經費與數據可靠性:DVD 的使用,可保存 10 年左右

一些常見的設備代號:

光碟機:/dev/cdrom (其實應該是 /dev/sdX 或 /dev/hdX)

磁帶機:/dev/st0 (SCSI界面),/dev/ht0 (IDE界面)

軟盤驅動器:/dev/fd0,/dev/fd1

硬碟:/dev/hd[a-d][1-16] (IDE),/dev/sd[a-p][1-16] (SCSI/SATA)

移動硬碟:/dev/sd[a-p][1-16] (與 SCSI 相同)

列印機:/dev/lp[0-2]

備份的種類、頻率與工具的選擇

備份的方式:

1.增量備份

2.差異備份

完整備份的增量備份 (Incremental backup)

還原的考慮

增量備份的原則

所謂的增量備份,指的是在系統進行完第一次完整備份後,經過一段時間的運行,比較

系統與備份文件之間的差異,然後金備份有差異的文件而已。

增量備份使用的備份軟體

完整備份常用的工具有: dd、 cpio、 pm/restore

直接進行增量備份的命令:pm

dd if=/dev/sda of=/dev/sdb

find / -print | cpio -covB > /dev/st0

cpio -iv < /dev/st0

1.完整備份

mp -0u -f /backupdata/home.mp /home

2.第一次進行增量備份

mp -1u -f /backupdata/home.mp.1 /home

tar -exclude /proc --exclude /mnt --exclude /tmp

--exclude /backupdata -jcvp -f /backupdata/sys.tar.bz2

完整備份的差異備份 (differential backup)

差異備份值的是:每次的備份都是與原始的完整備份比較結果

tar -N 񟭉-06-01' -jpcv -f /backupdata/home.tar.bz2 /home

rsync -av 源目錄 目標目錄

rsync -av /home /backupdata/ (將 /home/ 鏡像到 /backupdata/home/ 去)

rsync -av /home /backupdata/ (再次進行會快很多,如果數據沒有改動,幾乎不會進行任何操作)

關鍵數據備份

tar -jpcvf mysql.`date +%Y-%m-%d`.tar.bz3 /var/lib.mysql

H. 如何自動備份騰訊雲CENTOS上的所以設置

騰訊雲CBS三副本備份,最大限度保障數據不丟失。
也可以對鏡像做備份或磁碟快照。
自動備份需要通過腳本來操作。

I. 怎樣利用CentOS自動備份增量文件

還是利用crontab功能,這個功能太實用了,贊一個先

利用人家的備份腳本:
---------------------------------代碼開始----------人稱可愛的分割線------------------------------------------------------
#!/bin/bash
#好的做法
#根據項目不同來重命名該腳本
#例如 amountebak.sh or pandawillsbak.sh
#該腳本最好放在 $bakpp定義的絕對路徑部分
#你可以在$bakpp下找到相應的備份文件
#例如 /usr/backup/amountebak.sh or /usr/backup/pandawillsbak.sh

########## Init Path ########
# 在下面的參數中必須定義的參數有 $bakpp、$project、$projectpp
TAR=/bin/tar
# 存放備份文件的地方,以項目名稱區分
bakpp=/var/www/html/media/backupfiles/"$project"
# 需要備份的文件夾,文件夾的路徑
project=media
projectpp=/var/www/html/media/root/
# parament for varible
ym=`date +%Y%m`
ymd=`date +%Y%m%d`
# 存儲備份文件的子目錄,以月份區分,他的上級目錄是$bakpp定義的
monthbakpp=$bakpp/$ym
gidpp=$monthbakpp
gidshot=gid$project$ym
# 完全備份的文件名
fullname=$ym
# 增量備份的文件名
incrementalname=$ymd
# Record the location of the log
log=$bakpp/$project.log

############ chk_full #######################
# 檢查完全備份是否存在,如果不存在就創建它

#this function check fullbackup file exist or not , if not then create fullbackup now

chk_full()
{
if [ -e "$monthbakpp"/"$project"_"$ym"_full.tar.gz ];then
echo ""$project"_"$ym"_full.tar.gz file exist!! ====`date +%Y-%m-%d-%T` " >>$log
else
tar_full
fi
}
######### chk_incremental ########
# 檢查增量備份是否存在
chk_incremental()
{
while [ -e "$monthbakpp"/"$project"_"$incrementalname"_incremental.tar.gz ]
do
incrementalname=`echo "$incrementalname + 0.1" | bc `
done
}
######## tar_incremental #######
# 執行增量備份
tar_incremental()
{
cd $projectpp
echo "BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incremental.tar.gz" >> $log
sleep 3
$TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$incrementalname"_incremental.tar.gz $project
echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incremental.tar.gz" >> $log
}

######## tar_full ###########
tar_full()
{
touch $gidpp/$gidshot
cd $projectpp
echo "BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_full.tar.gz" >> $log
$TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$fullname"_full.tar.gz $project
echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_full.tar.gz" >> $log
}

########### backup ##############################
# 總體調用備份,此時會做相應的檢查以確保備份前提准備充分
backup()
{
if [ -d $monthbakpp ]; then
chk_full
chk_incremental
tar_incremental
else
mkdir -p $bakpp/$ym
tar_full
fi
}

########### let's begin #############
# 先檢查$bakpp是否存在,如果不存在先創建後備份
if [ -d $bakpp ];then
backup
else
mkdir -p $bakpp
backup
fi
#advice you can create a file for put backup file, eg /usr/cctcc
#crontab
#mini hours day month week command
# */5 * * * * /home/mmroot/zbb/aaa.sh
# 0 1 */1 * * /home/mmroot/zbb/aaa.sh
# tar -ztf test.tar.gz 查看備份文件裡面的文件

---------------------------------代碼結束----------人稱可愛的分割線------------------------------------------------------

說明一下我的目錄結構

掛載裝數據的分區shda5 掛載到/var/www/html/media

php web文件放到/var/www/html/media/root

要備份的就是/var/www/html/media/root/media目錄

存放備份目錄在/var/www/html/media/bacupfiles

把以上代碼建立一個文件放入/usr/tmp/autobakfile.sh

修改/usr/tmp/task加入一行:

原來的這行:*/2 * * * * elinks -source http://localhost/autotasks.php

加入這行:
12 12 * * * /usr/tmp/autobakfile.sh

每天12點12分執行 這個腳本

另外注意就是 chmod +x /usr/tmp/autobakfile.sh 給予執行許可權,要不然會提示沒有許可權

the end

J. 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;

熱點內容
安卓手機高溫降頻怎麼關閉 發布:2024-10-26 15:02:41 瀏覽:366
mysql查看資料庫名 發布:2024-10-26 14:51:39 瀏覽:130
spg演算法 發布:2024-10-26 14:44:50 瀏覽:414
oracle查看sql執行 發布:2024-10-26 14:44:04 瀏覽:860
標准配置什麼意思 發布:2024-10-26 14:35:27 瀏覽:881
查看linux所有用戶 發布:2024-10-26 14:11:15 瀏覽:16
useraddftp 發布:2024-10-26 13:59:21 瀏覽:622
安卓免費私密相冊哪個好用 發布:2024-10-26 13:41:20 瀏覽:640
湛江移動伺服器ip 發布:2024-10-26 13:12:17 瀏覽:635
找回dns伺服器地址 發布:2024-10-26 12:48:23 瀏覽:241