天災人禍難以避免,當主要的伺服器因意外或錯誤無法運作,備援的資料可以即時接手,企業的服務和營運得以服務不中斷。
環境需求
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資料庫還原情形
