前言:前篇介紹了mysql的備份方法,但備份不是越多越好,如果磁碟空間不夠用,我需要保留近乙個周的備份就可以了,那就需要刪除備份指令碼了,特別注意刪除操作比較危險,變數傳參要進行二次確認。
#!/bin/bash#delte mysql back of 7 days ago
#author:jzd
#version:1.0
#mysql back directory
back_dir="/back"
#expire days
expire_day=7
if [ x"$" != "x" -a $ ]; then
cd $ && find $ -maxdepth 1 -type d -ctime +$ -name "20*-*-*_*" -exec rm -rf {} \;
fiexit $?
#!/bin/bash#刪除日誌指令碼,以檔案修改日期為依據,刪除大於過期天數的檔案
#2017-02-13 auth:jzd ver:1.0
#程式目錄
pwd="/home/aixtest/del_log"
#要刪除的檔案所在目錄,每行乙個目錄
file_dir="$pwd/del_file_dir"
#檔案過期天數
expire="15"
if [ ! -d $ ]; then
mkdir -p $
fiif [ ! -s $ ]; then
echo "請檢查是否在$檔案配置檔案所在目錄."
exit 1
ficd $pwd
while read dir
doif [ ! -d $ ]; then
"請檢查是否純在$目錄."
exit 1
ficd $ && find . -type f -mtime +15 -name "20*-*-*_*" -exec rm -rf {} \;
done < $
exit $?
存放目錄的檔案del_file_dir,後面有類似的情況,往檔案中新增目錄絕對路徑就ok了:
/home/dir1/home/dir2
/home/dir3
/home/dir4
總結:刪除本身就是危險操作,如果在指令碼中做刪除操作,通過變數傳遞引數,那就更危險了,一定要進行二次確認,防止獲取變數為空造成的誤刪。
SQL自動刪除備份檔案
declare sql varchar 8000 下面是刪除15天前備份檔案的處理 set sql del e databasebackup sql sql rtrim convert varchar,getdate 15,112 bak exec master.xp cmdshell sql de...
mysql增量備份檔案 mysql增量備份
突然說要我研究下增量備份,表示在此之前真的不知道這是什麼意思,網上搜說 是指在一次全備份或上一次增量備份後,以後每次的備份只需備份與前一次相比增加或者被修改的檔案。我通俗理解就是 在前一次的備份基礎上去增刪改。然後就花費了我一下午的時間,中間的心酸就不提了,正式來吧 1 首先進去cmd以管理員身份進...
mysql備份檔案夾 mysql 備份
mysql定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份資料。1 建立備份檔案夾 cd www makedir backup 2 編寫執行指令碼 vi autobackup 寫入以下內容 filename date y m d mysql bin di...