Linux資料轉移規劃與執行

天災人禍難以避免,當主要的伺服器因意外或錯誤無法運作,備援的資料可以即時接手,企業的服務和營運得以服務不中斷。


HackMD筆記連結


環境需求

1.Ubuntu Server 22.04.4

2.Mariadb

3.Apache


功能

1.使用Shellscript備份使用者帳號及權限
2.使用Shellscript備份MariaDB 、Apache 資料與設定檔
3.將A Linux資料備份,轉移至B Linux還原


A Linux環境設定安裝(IP:10.167.223.46)

  • MariaDB及Apache安裝:sudo apt install mariadb-server apache2
  • 建立使用者帳號相關設定:
    user0401,授予該用戶執行sudo命令的權限
    user0402,授予該用戶擁有root權限的權限
  • MariaDB建立資料庫A1跟A2、資料表0401A1跟0401A2,以利測試
CREATE DATABASE A1;

CREATE DATABASE A2;

create table 0401A1(
sn integer auto_increment primary key,
name char(20),
mail char(50),
home char(50),
messages char(50)
);

create table 0401A2(
sn integer auto_increment primary key,
name char(20),
mail char(50),
home char(50),
messages char(50)
);

A Linux資料備份:

#!/bin/bash

#定義備份目錄
BACKUP_DIR="/home/jonas/0402"

#備份使用者資料和權限
sudo cp /etc/passwd /etc/group /etc/shadow $BACKUP_DIR

#備份所有用戶家目錄
sudo rsync -a /home/ $BACKUP_DIR/home/

#備份MariaDB
DB_USER="root"
DB_PASSWORD="123"
sudo mysqldump -u $DB_USER -p$DB_PASSWORD --all-databases > $BACKUP_DIR/all_databases.sql

#備份Apache配置
sudo rsync -a /etc/apache2/ $BACKUP_DIR/apache2/
#Apache網站數據
sudo rsync -a /var/www/ $BACKUP_DIR/www/

A Linux資料備份成功截圖:


B Linux環境設定安裝(IP:10.167.223.32)

  • MariaDB及Apache安裝:sudo apt install mariadb-server apache2

B Linux資料還原:

#!/bin/bash

#定義備份目錄
BACKUP_DIR="/home/jonasb/home/jonas/0402"

#還原使用者資料和權限
sudo cp $BACKUP_DIR/passwd $BACKUP_DIR/group $BACKUP_DIR/shadow /etc/

#還原用戶家目錄
sudo rsync -a $BACKUP_DIR/home/ /home/

#還原MariaDB
DB_USER="root"
DB_PASSWORD="123"
sudo mysql -u $DB_USER -p$DB_PASSWORD < $BACKUP_DIR/all_databases.sql

#還原Apache配置
sudo rsync -a $BACKUP_DIR/apache2/ /etc/apache2/
sudo rsync -a $BACKUP_DIR/www/ /var/www/

#重新啟動服務
sudo systemctl restart apache2
sudo systemctl restart mariadb

B Linux資料備份成功截圖:

畫面01-user0401使用者登入

畫面02-user0402使用者登入

畫面03-MariaDB資料庫還原情形

畫面04-MariaDB資料庫還原情形

畫面05-Apache資料庫還原情形

CATEGORIES:

Comments are closed