為了解決公司備份伺服器備份資料量越來越多,或者因為不可知的原因導致資料庫崩壞,寫了這個指令碼。
1,將指令碼拉到備份伺服器上,在指定的目錄下執行mysql_deleted.sh,會在指定的目錄刪除7天之前的備份資料,即使因為不可知的原因導致資料庫崩壞,也會保留最新的乙份。
指令碼如下,有注釋。可以根據本身的實際情況進行更改
#!/bin/bash
#儲存備份個數
number=5
#備份儲存路徑
backup_dir=/home/mysql_backup
#距離當前的天數
days=7
#找到需要刪除的檔案距離當前的天數
delfile=
`find $backup_dir -type f -mtime +$days -exec ls
\;`#判斷現在的備份數量是否大於$number
count=
`ls -l -crt $backup_dir/*.sql-tar.gz |
awk''
|wc -l`if[
$count -gt $number
]then
rm -rf $delfile
#刪除最早生成的備份,只保留number數量的備份
fi
2,接下來設定定時任務,連線備份伺服器。開啟控制台,輸入crontab -e
,設定指令碼執行的時間及路徑,:wq
儲存。
0 22 * * * /bin/bash /home/mysql_delete.sh
3,如未生效,執行service crond reload
過載crond服務哦! mysql定時備份指令碼 MySql定時備份指令碼
最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...
定時每天備份mysql並定時刪除上月記錄(指令碼)
shell指令碼 備份的指令碼比較簡單 bin bash 定義年 月 日 year date y month date m day date d 定義備份的目錄 backdir bak 1 mysql year month day mysql的root密碼 rootpass 123456 建立目錄 ...
MySql 定時備份
mysql bat echo off set month date 3,2 set day date 0,2 set year date 6,4 d redmine bitnam 1 mysql bin mysqldump opt ubackup pbackup h 192.168.122.111 ...