要求:
每天凌晨 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就是通過分別將變數 檔案 任務 模板及處理器放置於...