成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

避免刪庫跑路的辦法,你知道嗎?

開發 前端
為了避免此類情況,需要實施權限管理、定期備份數據,并建立自動化的備份腳本,以確保數據安全和系統穩定運行。

你好,我是悟空。

圖片圖片

一、前言

1.1 刪庫跑路是什么?

刪庫跑路:是一個在開發和運維領域常見的幽默說法,但它指的是一種嚴重的故障情境:意外刪除了生產數據庫中的數據。

在實際操作中,這種情況可能會導致嚴重的數據丟失和業務中斷。

1.2 避免刪除跑路的方式

權限控制: 限制對生產環境的直接訪問和操作,確保只有受信任的人員才能執行敏感操作。

日志審計: 記錄所有操作,包括誰、什么時間、做了什么操作,以便追蹤和審計。

備份策略: 實施完善的備份策略,定期備份數據,并將備份數據存儲在安全的地方,以便在出現問題時能夠快速恢復數據。

多地備份: 將備份數據存儲在不同的地理位置,以防止因某一地點發生災難而導致數據丟失。

權限分離: 采用最小權限原則,給予員工僅限于其工作職責所需的最低權限,避免濫用權限。

監控預警: 部署監控系統,監視系統狀態和用戶行為,及時發現異常操作并采取措施。

培訓意識: 對員工進行安全意識培訓,讓他們了解刪除跑路的危害,以及如何正確處理數據和執行操作。

而最最最重要的一種方式就是備份!

重要的事情說三遍:備份!備份!備份!

為什么說備份是最重要的,因為只要有備份文件,數據就能恢復。但前提是備份文件別被刪了!

那么今天我們就來看下如何備份數據庫以及重要的文件。

二、環境說明

本篇涉及到的服務器環境如下表所示:

序號

說明

說明

1

Ubuntu 系統

服務器操作系統

2

Docker 容器

容器

3

MySQL 數據庫

備份數據庫,以容器化部署

4

FastDFS 文件存儲或 Redis 數據文件

備份磁盤文件

5

expect 工具

自動化交互式任務的工具

Ubuntu 上安裝有 Docker,MySQL 以容器化的形式部署,FastDFS 分布式文件系統,expect 自動化交互式任務的工具(可以用來遠程拷貝,但功能不僅僅如此),可自行安裝該工具。

三、備份方案

3.1 備份 MySQL 數據庫的所有數據

  • 使用 mysqldump 命令備份所有數據,并生成一個 SQL 文件。
  • 使用 tar 命令將 SQL 文件壓縮成一個文件。
  • 使用 openssl 加密壓縮文件。
  • 刪除過期數據
  • 使用 scp 或 rsync 命令將加密文件上傳到遠程服務器進行異地存儲。

圖片圖片

3.2 備份數據文件

  • 壓縮和加密文件
  • 拆分成分卷文件
  • 合并分卷文件
  • 遠程備份
  • 刪除過期數據

圖片圖片

四、自動化定期備份

當我們編寫好備份的腳本后,還需要定期執行備份操作,那么就少不了添加定時任務了。

Linux 系統自帶定時任務功能,我們可以指定一個 cron 作業,在每天凌晨 2 點 10 分運行該備份腳本,并將輸出追加到 /home/passjava/backup/cron_log.txt 文件中。

步驟如下:

編輯定時任務

crontab -uroot -e

添加定時任務

10 2 * * * bash /home/passjava/backup/你的腳本 >> /home/passjava/backup/cron_log.txt

五、備份腳本

5.1 數據庫備份腳本

#!/bin/bash
# 設置mysql的登錄用戶名和密碼(根據實際情況填寫)
mysql_user="root"
mysql_password="xxx"
mysql_host="數據庫服務器 ip"
mysql_port="3306"
#mysql_charset="utf8mb4"
 
# 備份文件存放地址(根據實際情況填寫)
backup_locatinotallow=/home/passjava/backup/mysql/passjava_web
 
# 是否刪除過期數據
expire_backup_delete="ON"
expire_days=7
backup_time=`date +%Y-%m-%d-%H-%M-%S`

#根據docker ps獲取mysql容器的ID
mysqlCnotallow=`sudo docker ps -q --filter="name=mysql"`
#在運行在docker環境的mysql中執行備份命令
sudo docker exec $mysqlContainerName mysqldump passjava_web -u$mysql_user -p$mysql_password > $backup_location/$backup_time-backup-mysql-passjava_web.sql

tar -czvf - $backup_location/$backup_time-backup-mysql-passjava_web.sql | openssl des3 -salt -k passjava123456 -out $backup_location/$backup_time-backup-mysql-passjava_web.sql.tar.gz

# 刪除過期數據
if [ "$expire_backup_delete" == "ON" -a  "$backup_location" != "" ];then
        `find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`
        echo "Expired backup data delete complete!"
fi

echo "開始遠程備份 passjava_web"

expect -c "
    spawn scp -r /home/passjava/backup/mysql/passjava_web/$backup_time-backup-mysql-passjava_web.sql.tar.gz passjava@異地服務器1:/home/passjava/backup/mysql/passjava_web
    expect {
        \"*assword\" {set timeout 300; send \"passjava\r\"; exp_continue;}
        \"yes/no\" {send \"yes\r\";}
    }
 spawn scp -r /home/passjava/backup/mysql/passjava_web/$backup_time-backup-mysql-passjava_web.sql.tar.gz passjava@異地服務器2:/home/passjava/backup/mysql/passjava_web
    expect {
        \"*assword\" {set timeout 300; send \"passjava\r\"; exp_continue;}
        \"yes/no\" {send \"yes\r\";}
    }
expect eof"

echo "完成遠程備份 passjava_web"

rm -f $backup_location/$backup_time-backup-mysql-passjava_web.sql

5.2 文件備份腳本

本腳本用于備份 FastDFS 分布式文件系統的文件,也可以改為備份 redis 的數據文件。

#!/bin/bash
 
# 備份文件存放地址(根據實際情況填寫)
backup_locatinotallow=/home/passjava/backup/fdfs/data
 
# 是否刪除過期數據
expire_backup_delete="ON"
expire_days=7
backup_time=`date +%Y-%m-%d-%H-%M-%S`

# 壓縮加密數據庫備份文件
tar -czvf - /home/passjava/fdfs | openssl des3 -salt -k passjava123456 | split -b 200m -d - $backup_location/$backup_time-fdfs-data.tar.gz

# 刪除過期數據
if [ "$expire_backup_delete" == "ON" -a  "$backup_location" != "" ];then
        `find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`
        echo "Expired backup data delete complete!"
fi

cat $backup_location/$backup_time-fdfs-data.tar.gz* > $backup_location/$backup_time-fdfs-data-all.tar.gz

echo "開始遠程備份 fdfs"

expect -c "
    spawn scp -r $backup_location/$backup_time-fdfs-data-all.tar.gz passjava@192.168.1.100:/home/passjava/backup/fdfs/data
    expect {
        \"*assword\" {set timeout 300; send \"passjava\r\"; exp_continue;}
        \"yes/no\" {send \"yes\r\";}
    }
expect eof"

echo "完成遠程備份 fdfs"

rm -f $backup_location/$backup_time-fdfs-data.tar.gz*

六、總結

刪庫跑路是指某人惡意刪除重要數據后逃避責任的行為,可能導致嚴重的經濟損失和安全風險。

為了避免此類情況,需要實施權限管理、定期備份數據,并建立自動化的備份腳本,以確保數據安全和系統穩定運行。

本篇主要講解了如何備份數據庫和重要的文件,希望能帶給你啟發。

責任編輯:武曉燕 來源: 悟空聊架構
相關推薦

2024-10-15 10:32:30

2024-03-28 10:25:58

開源協議開源軟件

2023-12-12 08:41:01

2025-04-30 09:06:23

AI知識庫大模型

2017-01-18 18:28:54

大數據數據庫技術

2021-09-13 19:28:42

JavaNetty開發

2019-12-12 09:23:29

Hello World操作系統函數庫

2022-03-10 08:25:27

JavaScrip變量作用域

2023-12-20 08:23:53

NIO組件非阻塞

2023-04-26 10:21:04

2024-04-30 09:02:48

2024-09-18 07:00:00

消息隊列中間件消息隊列

2021-10-14 06:52:47

算法校驗碼結構

2022-09-29 15:32:58

云計算計算模式

2024-02-05 12:08:07

線程方式管理

2019-01-07 13:01:08

Linux驚嘆用法命令

2023-02-28 07:39:18

2016-11-22 15:43:13

機房制冷發展史

2025-01-16 16:41:00

ObjectConditionJDK

2023-08-29 09:31:01

Scrapy網頁爬蟲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线亚洲电影 | 日本午夜一区二区三区 | 欧美视频三区 | 国产一区二区三区不卡av | 久久久久免费观看 | 日本中文字幕日韩精品免费 | aaa在线| 中文字幕国产一区 | 精品一二三区视频 | 国产在线观 | 一区二区高清 | 国产精品久久久久久久久图文区 | 日本在线一二 | 一区二区三区亚洲 | 日本在线免费观看 | 国产黄色网 | 日韩精品一区二区三区在线观看 | 国产福利在线免费观看 | 91在线网| 在线日韩 | 欧美成人免费在线 | 一级欧美视频 | 国产精品久久久久久久久久久新郎 | 久久久123| 在线中文字幕视频 | 久久综合99 | www.奇米| 亚洲成人免费视频 | 在线免费亚洲视频 | 国产精品呻吟久久av凹凸 | 亚洲视频免费在线 | 欧美日韩一 | 国产人成精品一区二区三 | 亚洲一区在线日韩在线深爱 | 午夜影院在线观看版 | 国产精品久久久久久久久久 | 欧美嘿咻 | 精品乱码一区二区 | 国产精品久久久久久久久久久免费看 | 黄片毛片 | 99精品国自产在线 |