Shell程式設計綜合案例

2021-10-06 07:54:29 字數 1291 閱讀 4510

要求:

每天凌晨 2:10 備份 資料庫test 到 /data/backup/db

備份開始和備份結束能夠給出相應的提示資訊

備份後的檔案要求以備份時間為檔名,並打包成 .tar.gz 的形式,比如:2018-03-12_230201.tar.gz

在備份的同時,檢查是否有 10 天前備份的資料庫檔案,如果有就將其刪除。

分析:首先我們要編寫乙個shell指令碼,功能將資料庫備份並打包,然後使用cron任務排程設定每天執行的時間。

#備份的路徑

backup=/

data

/backup/db

#當前時間

datetime=$(date +

%y_%m_%d_%h%m%s)

echo

"**********=開始備份**********=="

#主機host=localhost

#使用者名稱

db_user=root

#密碼db_pwd=123456

#備份資料庫

database=test

#如果備份的路徑檔案存在就使用,否則就建立[!

-d "$backup/$datetime"

] && mkdir -p "$backup/$datetime"

#備份資料庫到臨時檔案

mysqldump -u$

-p$--host=$host

$database

| gzip > $backup

/$datetime

.sql.gz

#打包備份檔案

cd $backup

tar -zcvf $datetime

.tar.gz $datetime

#刪除臨時檔案

rm-rf $backup

/$datetime

#刪除10天前的檔案

find $backup

-mtime +10 -name "*.tar.gz"

-exec rm

-rf \;

echo

"**********=備份檔案成功**********=="

Shell程式設計綜合實訓

1.下面給出了乙個shell程式,試對其行後有 n 形式的語句進行解釋,並說明程式完成的功能。執行結果截圖 bin bash 1 dir 1 2 if d dir 3 then cd dir 4 for file in doif f file 5 then cat file 6 echo end o...

2 綜合案例

1.逆序對及應用 2.學會應用排序演算法 3.理解單調佇列及應用 4.理解二分法 1.逆序對 設 a 為乙個有 n 個數字的有序集 n 1 其中所有數字各不相同。如果存在正整數 i,j 使得 1 i j n 而且 a i a j 則 這個有序對稱為 a 的乙個逆序對,也稱作逆序數。使用歸併排序演算法...

ansible roles綜合案例

ansible自1.2版本引入的新特性,用於層次性,結構化地組織playbook。roles能夠根據層次結構自動裝載變數檔案 tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。簡單來講,roles就是通過分別將變數 檔案 任務 模板及處理器放置於...