運維shell腳本經典實例「shell腳本實例」

由於這幾天比較忙,今天才繼續發出這一份實例,這個是我們經常會用的備份對資料庫,但是我本次給出的是對資料庫目錄data進行備份,跟直接備份某一個資料庫還是存在區別的,這個後續會有一個專門的實例發出來,今天就先看下這個案例吧:

#!/bin/env/bash

# 定義參數存時間

DAY=`date +%Y%m%d`

# 查看對應data文件夾大小

SIZE=`du -sh /usr/local/mysql/data | awk ‘{print $1}’`

# 每天備份前先將時間和文件大小寫入信息記錄文件

echo “Date: $DAY” >> /tmp/dbinfo.txt

echo “Data Size: $SIZE” >> /tmp/dbinfo.txt

# 進入到數據所在路徑

if [ -d “/opt/dbbak” ]; then

# 存在情況直接執行壓縮命令

tar zcvPf /opt/dbbak/mysqlbak-${DAY}.tar.gz /usr/local/mysql/data > /dev/null

else

# 不存在的情況下需要先創建

mkdir -p /opt/dbbak

tar zcvPf /opt/dbbak/mysqlbak-${DAY}.tar.gz /usr/local/mysql/data > /dev/null

fi

# 每次完成後清理dbinfo文件

rm -rf /tmp/dbinfo.txt

我們能看到在壓縮tar包的時候參數有一個P,這是因為tar只能壓縮相對路徑,如果要採用絕對路徑就必須加參數P且必須在參數f之前,否則會報錯,大家可以試試,也可以做成定時任務,使用crontab -e ,這個大家可以百度下看看

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/273644.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:07
下一篇 2024-12-17 14:07

相關推薦

發表回復

登錄後才能評論