AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

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

來源: 責編: 時間:2024-06-07 17:19:50 329觀看
導讀你好,我是悟空。圖片一、前言1.1 刪庫跑路是什么?刪庫跑路:是一個在開發和運維領域常見的幽默說法,但它指的是一種嚴重的故障情境:意外刪除了生產數據庫中的數據。在實際操作中,這種情況可能會導致嚴重的數據丟失和業務中斷

你好,我是悟空。9Qo28資訊網——每日最新資訊28at.com

圖片圖片9Qo28資訊網——每日最新資訊28at.com

一、前言

1.1 刪庫跑路是什么?

刪庫跑路:是一個在開發和運維領域常見的幽默說法,但它指的是一種嚴重的故障情境:意外刪除了生產數據庫中的數據。9Qo28資訊網——每日最新資訊28at.com

在實際操作中,這種情況可能會導致嚴重的數據丟失和業務中斷。9Qo28資訊網——每日最新資訊28at.com

1.2 避免刪除跑路的方式

權限控制: 限制對生產環境的直接訪問和操作,確保只有受信任的人員才能執行敏感操作。9Qo28資訊網——每日最新資訊28at.com

日志審計: 記錄所有操作,包括誰、什么時間、做了什么操作,以便追蹤和審計。9Qo28資訊網——每日最新資訊28at.com

備份策略: 實施完善的備份策略,定期備份數據,并將備份數據存儲在安全的地方,以便在出現問題時能夠快速恢復數據。9Qo28資訊網——每日最新資訊28at.com

多地備份: 將備份數據存儲在不同的地理位置,以防止因某一地點發生災難而導致數據丟失。9Qo28資訊網——每日最新資訊28at.com

權限分離: 采用最小權限原則,給予員工僅限于其工作職責所需的最低權限,避免濫用權限。9Qo28資訊網——每日最新資訊28at.com

監控預警: 部署監控系統,監視系統狀態和用戶行為,及時發現異常操作并采取措施。9Qo28資訊網——每日最新資訊28at.com

培訓意識: 對員工進行安全意識培訓,讓他們了解刪除跑路的危害,以及如何正確處理數據和執行操作。9Qo28資訊網——每日最新資訊28at.com

而最最最重要的一種方式就是備份!9Qo28資訊網——每日最新資訊28at.com

重要的事情說三遍:備份!備份!備份!9Qo28資訊網——每日最新資訊28at.com

為什么說備份是最重要的,因為只要有備份文件,數據就能恢復。但前提是備份文件別被刪了!9Qo28資訊網——每日最新資訊28at.com

那么今天我們就來看下如何備份數據庫以及重要的文件。9Qo28資訊網——每日最新資訊28at.com

二、環境說明

本篇涉及到的服務器環境如下表所示:9Qo28資訊網——每日最新資訊28at.com

序號
9Qo28資訊網——每日最新資訊28at.com

說明
9Qo28資訊網——每日最新資訊28at.com

說明
9Qo28資訊網——每日最新資訊28at.com

1
9Qo28資訊網——每日最新資訊28at.com

Ubuntu 系統
9Qo28資訊網——每日最新資訊28at.com

服務器操作系統9Qo28資訊網——每日最新資訊28at.com

2
9Qo28資訊網——每日最新資訊28at.com

Docker 容器
9Qo28資訊網——每日最新資訊28at.com

容器
9Qo28資訊網——每日最新資訊28at.com

3
9Qo28資訊網——每日最新資訊28at.com

MySQL 數據庫
9Qo28資訊網——每日最新資訊28at.com

備份數據庫,以容器化部署
9Qo28資訊網——每日最新資訊28at.com

4
9Qo28資訊網——每日最新資訊28at.com

FastDFS 文件存儲或 Redis 數據文件
9Qo28資訊網——每日最新資訊28at.com

備份磁盤文件
9Qo28資訊網——每日最新資訊28at.com

5
9Qo28資訊網——每日最新資訊28at.com

expect 工具
9Qo28資訊網——每日最新資訊28at.com

自動化交互式任務的工具
9Qo28資訊網——每日最新資訊28at.com

Ubuntu 上安裝有 Docker,MySQL 以容器化的形式部署,FastDFS 分布式文件系統,expect 自動化交互式任務的工具(可以用來遠程拷貝,但功能不僅僅如此),可自行安裝該工具。9Qo28資訊網——每日最新資訊28at.com

三、備份方案

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

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

圖片圖片9Qo28資訊網——每日最新資訊28at.com

3.2 備份數據文件

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

圖片圖片9Qo28資訊網——每日最新資訊28at.com

四、自動化定期備份

當我們編寫好備份的腳本后,還需要定期執行備份操作,那么就少不了添加定時任務了。9Qo28資訊網——每日最新資訊28at.com

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

步驟如下:9Qo28資訊網——每日最新資訊28at.com

編輯定時任務9Qo28資訊網——每日最新資訊28at.com

crontab -uroot -e

添加定時任務9Qo28資訊網——每日最新資訊28at.com

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=7backup_time=`date +%Y-%m-%d-%H-%M-%S`#根據docker ps獲取mysql容器的IDmysqlCnotallow=`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.sqltar -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!"fiecho "開始遠程備份 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 的數據文件。9Qo28資訊網——每日最新資訊28at.com

#!/bin/bash # 備份文件存放地址(根據實際情況填寫)backup_locatinotallow=/home/passjava/backup/fdfs/data # 是否刪除過期數據expire_backup_delete="ON"expire_days=7backup_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!"ficat $backup_location/$backup_time-fdfs-data.tar.gz* > $backup_location/$backup_time-fdfs-data-all.tar.gzecho "開始遠程備份 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*

六、總結

刪庫跑路是指某人惡意刪除重要數據后逃避責任的行為,可能導致嚴重的經濟損失和安全風險。9Qo28資訊網——每日最新資訊28at.com

為了避免此類情況,需要實施權限管理、定期備份數據,并建立自動化的備份腳本,以確保數據安全和系統穩定運行。9Qo28資訊網——每日最新資訊28at.com

本篇主要講解了如何備份數據庫和重要的文件,希望能帶給你啟發。9Qo28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-92745-0.html避免刪庫跑路的辦法,你知道嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Oxlint 會取代 Eslint 嗎?

下一篇: 大廠真實案例,CPU 升高問題如何排查?五分鐘掌握

標簽:
  • 熱門焦點
Top