生產定時備份站點目錄例項

2021-09-26 16:26:15 字數 1553 閱讀 3016

思路:很多運維的小夥伴在工作中可能會遇到站點目錄該怎麼備份的問題,仔細思考了下思路是這樣的,首先會想到很多歸檔工具,比如有tar、gzip、zip、cp、ln、rsync等等...但是在生產環境中並沒有最好的備份工具,只有最合適的備份工具。可以通過站點的資料量決定,如果過大的話使用增量即可,如果資料量小的話隨便那種都可以,根據實際我選的是zip備份。既然核心問題已經解決,剩下就是寫指令碼了。

指令碼做了什麼:這個指令碼的邏輯其實很簡單,首先定義站點目錄,目錄的命令要規範化。我這裡是通過年月日命名目錄,備份檔案的名字呢用分時秒定義。因為是寫的定時任務所以每一步都必須要有輸出,不然不知道執行哪一步很可怕....附加了日誌功能,當show_log等於1的時候執行的命令會在螢幕隨同標準輸出一併輸出,等於0表示記錄日誌檔案,也就是在測試環境的時候將他置為1。(這個方法也可以通過sh -x的方式實現,看個人習慣)。好的,這就是總體思路了。

#!/bin/bash

script_path=$(dirname $0;pwd)

site_dir="/home/web/www/"

sitelist=(`ls $`)

show_log=0

year=`date +%y`

month=`date +%m`

day=`date +%d`

date_format=`date +%h%m%s`

log_date=`date "+%f-%h%m%s"`

backup_dir="/home/data/backup/$year/$month/$day"

log_path="$/sitebakup_err.log"

log()

#打包站點目錄到備份目錄中

backup()

for list in $;do

log zip -r "$"/"$date_format"_"$list".zip "$list/"

zip -r "$"/"$date_format"_"$list".zip "$list"/

done

echo "**********==== "$" ***************====" >>/server/scripts/sitebakup_err.log

}main()

main

測試結果:日誌輸出情況

測試結果:備份情況

這樣就已經實現了我們需要的效果,可以根據時間找到備份檔案,測試完成沒問題最後一步需要做的就是把它寫入定時任務即可

okkkkkkkkkkkkkkkkkk

備份還原子站點

推薦大家使用moss中的stsadm命令列export import來進行子 的遷移,因為在實際開發的過程中,乙個模組可能與乙個子 密切相關,我不太習慣把主要的功能放在 集的根 下,因為可能根 只是作為乙個導航或都資訊展示作用。很多人使用遷移工具遷移不成功,我總結了如下的幾點 2 使用了spd的工作...

mysql定時備份指令碼 MySql定時備份指令碼

最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...

oracle定時備份 增量備份

一 匯出 匯入 export import 利用export可將資料從資料庫中提取出來,利用import則可將提取出來的資料送回oracle資料庫中去。1.簡單匯出資料 export 和匯入資料 import oracle支援三種型別的輸出 1 表方式 t方式 將指定表的資料匯出。2 使用者方式 u...