自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

真槍實(shí)彈!Redis 「冷備」讓您睡個(gè)安穩(wěn)覺zZ

存儲(chǔ) 存儲(chǔ)軟件 Redis
Redis 的 RDB 持久化方案,相信大家都有所了解,但是對(duì)于企業(yè)來說,如果只是持久化了一個(gè) RDB 文件,不足以應(yīng)付生產(chǎn)級(jí)別的事故。

[[416657]]

大家好,我是悟空呀。

Redis 的 RDB 持久化方案,相信大家都有所了解,但是對(duì)于企業(yè)來說,如果只是持久化了一個(gè) RDB 文件,不足以應(yīng)付生產(chǎn)級(jí)別的事故。

通常的方案就是對(duì) RDB 進(jìn)行多個(gè)備份,今天帶大家來真槍實(shí)彈操作下 RDB 的冷備,以及通過 RDB 進(jìn)行數(shù)據(jù)恢復(fù)。學(xué)會(huì)了這招,今晚可以好好睡覺了嗎?

企業(yè)級(jí)冷備方案

Redis RDB 持久化是非常適合做企業(yè)級(jí)的冷備方案的,這里的冷備可以理解為將已生成的文件拷貝到其他機(jī)器或者云服務(wù)器上。

RDB 適合做冷備的原因如下:

RDB 文件生成后,改變的頻率低,除非頻繁觸發(fā)檢查點(diǎn)導(dǎo)致重新生成。

RDB 是 Redis 內(nèi)存快照,比 AOF 日志恢復(fù)速度快。

RDB 的生成策略可以自行配置,而且可以配置多項(xiàng),可以根據(jù)系統(tǒng)的使用場(chǎng)景和實(shí)際情況進(jìn)行設(shè)置。

備份方案

1、用 Linux 自帶的 crontab 命令執(zhí)行定時(shí)任務(wù),調(diào)用數(shù)據(jù)備份腳本。

2、每小時(shí)備份一份一次當(dāng)前最新的 RDB 快照文件到指定目錄,只保留最近 48 小時(shí)的備份。

3、每天備份一份當(dāng)前最新的 RDB 快照文件到指定目錄,只保留最近一個(gè)月的 備份。

4、每天晚上將備份文件都發(fā)送遠(yuǎn)程的云服務(wù)器上。

流程圖如下所示:

每小時(shí)備份

首先需要編寫一個(gè)腳本,專門用來做數(shù)據(jù)備份,創(chuàng)建腳本的命令如下:

  1. mkdir /usr/local/redis 
  2. mkdir /usr/local/redis/copy 
  3. vi /usr/local/redis/copy/redis_rdb_copy_hourly.sh 
  4. mkdir /usr/local/redis/snapshotting 
  5. chmod 777 /usr/local/redis 

然后編寫這個(gè)腳本文件:

  1. #!/bin/sh  
  2.  
  3. cur_date=`date +%Y%m%d%H` 
  4. rm -rf /usr/local/redis/snapshotting/$cur_date 
  5. mkdir /usr/local/redis/snapshotting/$cur_date 
  6. cp /var/redis/6379/dump.rdb /usr/local/redis/snapshotting/$cur_date 
  7.  
  8. del_date=`date -d -48hour +%Y%m%d` 
  9. rm -rf /usr/local/redis/snapshotting/$del_date 

腳本解釋:

  • cur_data 代表當(dāng)前時(shí)間,精確到小時(shí),比如 2021080616。
  • 刪除當(dāng)前小時(shí)的快照文件。
  • 創(chuàng)建當(dāng)前小時(shí)的備份文件,文件為空的。
  • 拷貝當(dāng)前的快照文件到上一步創(chuàng)建的空的備份文件中。
  • del_date 代表 48 小時(shí)以前的時(shí)間,精確到小時(shí),比如 2021080416。
  • 刪除 48 小時(shí)以前的備份文件。

設(shè)置定時(shí)任務(wù),每個(gè)小時(shí)的 0 分跑一次腳本:

  1. crontab -e 
  2. 0 * * * * sh /usr/local.redis/copy/redis_rdb_copy_hourly.sh 

因?yàn)橐鹊较乱粋€(gè)小時(shí)的 0 點(diǎn),所以就手動(dòng)運(yùn)行腳本來測(cè)試:

  1. cd /usr/local/redis/copy 
  2. ./redis_rdb_copy_hourly.sh  

會(huì)在 snapshotting 文件夾創(chuàng)建一個(gè)目錄:2021080809,表示這是 2021-08-08 09 時(shí)的備份文件夾(注意這個(gè)時(shí)間是 UTC 時(shí)間)。這個(gè)目錄里面還會(huì)有一個(gè) dump.rdb 文件。如下圖所示:

每天備份

和每小時(shí)備份類似,先創(chuàng)建一個(gè)每天備份一次的腳本:

  1. vi /usr/local/redis/copy/redis_rdb_copy_daily.sh 
  2. chomd 777 * 

編寫腳本:

  1. #!/bin/sh  
  2.  
  3. cur_date=`date +%Y%m%d` 
  4. rm -rf /usr/local/redis/snapshotting/$cur_date 
  5. mkdir /usr/local/redis/snapshotting/$cur_date 
  6. cp /var/redis/6379/dump.rdb /usr/local/redis/snapshotting/$cur_date 
  7.  
  8. del_date=`date -d -1month +%Y%m%d` 
  9. rm -rf /usr/local/redis/snapshotting/$del_date 

創(chuàng)建每天備份一次的定時(shí)任務(wù):

  1. crontab -e 
  2.  
  3. 0 0 * * * sh /usr/local/redis/copy/redis_rdb_copy_daily.sh 

手動(dòng)執(zhí)行備份腳本:

  1. cd /usr/local/redis/copy 
  2. ./redis_rdb_copy_daily.sh  

會(huì)在 snapshotting 文件夾創(chuàng)建一個(gè)目錄:20210808,表示這是今天 2021-08-08 的備份文件夾(注意這個(gè)時(shí)間是 UTC 時(shí)間)。這個(gè)目錄里面還會(huì)有一個(gè) dump.rdb 文件。如下圖所示:

另外這些備份建議都上傳到云服務(wù)器上,多個(gè)地方備份增加一份安全感。(云服務(wù)同步的后續(xù)再介紹。)

今晚就可以睡個(gè)安穩(wěn)覺了~

從備份文件中恢復(fù)

假設(shè)一種場(chǎng)景:幾個(gè)小時(shí)前上線的程序把 Redis 的數(shù)據(jù)都污染了,數(shù)據(jù)錯(cuò)了,該怎么辦?

可以選擇某個(gè)更早的時(shí)間點(diǎn)的備份文件進(jìn)行恢復(fù)。

恢復(fù)的流程

  • 停止 Redis,暫時(shí)關(guān)閉 AOF 的持久化配置。
  • 刪除 AOF 日志文件和 RDB 快照文件。
  • 拷貝 RDB 快照文件到 Redis 的 RDB 文件加載目錄。
  • 重啟 Redis,確認(rèn)數(shù)據(jù)恢復(fù)成功。
  • 熱修改 Redis 的 AOF 持久化配置,Redis 會(huì)將內(nèi)存中的數(shù)據(jù)寫入到 AOF 文件中。
  • 再次停止 Redis,手動(dòng)修改配置文件,打開 AOF 持久化,防止熱修改不生效。
  • 再次重啟 Redis。

 本文轉(zhuǎn)載自微信公眾號(hào)「悟空聊架構(gòu)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系悟空聊架構(gòu)公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: 悟空聊架構(gòu)
相關(guān)推薦

2011-08-11 15:46:32

2010-09-27 10:24:30

DHCP服務(wù)器排錯(cuò)

2020-06-05 08:53:31

接口性能實(shí)踐

2020-02-05 16:50:26

AI人工智能

2016-04-26 14:10:09

2010-09-15 17:14:44

APC

2014-11-05 11:08:21

黑客程序員

2014-01-03 11:05:16

2009-11-19 17:31:24

2019-08-22 17:15:02

物聯(lián)網(wǎng)大數(shù)據(jù)運(yùn)輸

2011-10-31 14:57:37

2021-01-07 10:12:38

物聯(lián)網(wǎng)數(shù)據(jù)物聯(lián)網(wǎng)IOT

2023-07-28 07:14:13

2009-10-22 15:59:19

綜合布線系統(tǒng)測(cè)試

2017-03-02 07:36:40

科技新聞早報(bào)

2020-04-14 15:10:38

Linux終端命令

2009-08-27 11:43:21

VMware必備資源

2011-10-25 11:40:54

打印機(jī)常見問題

2020-04-28 15:16:49

人工智能智慧建筑技術(shù)

2015-07-02 15:18:40

數(shù)據(jù)中心DCIM
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)