濮阳杆衣贸易有限公司

主頁 > 知識庫 > shell實現(xiàn)自動備份mysql、整站數(shù)據(jù)的兩個腳本分享

shell實現(xiàn)自動備份mysql、整站數(shù)據(jù)的兩個腳本分享

熱門標簽:東莞電銷機器人價格一覽表 百度地圖的地圖標注 陜西電銷卡外呼系統(tǒng)怎么安裝 地圖標注超出范圍怎么辦 旅游地圖標注大全 佛山高德地圖標注中心 百度地圖標注圖標更換 excel地址地圖標注 杭州機器人外呼系統(tǒng)

案例一:shell+cron實現(xiàn)MySQL自動備份且自動刪除N天前備份

復制代碼 代碼如下:

#!/bin/sh
DUMP=/usr/local/mysql/bin/mysqldump
OUT_DIR=/home/ldl/xxx/backup/
LINUX_USER=ldl

DB_NAME=ldl
DB_USER=ldl
DB_PASS=xxx
#How much days backup most
DAYS=1

#Core of script
cd $OUT_DIR
DATE=`date +%Y_%m_%d`
OUT_SQL="$DATE.sql"
TAR_SQL="mysql_$DATE.tar.gz"
$DUMP --default-character-set=utf8 --opt -u$DB_USER -p$DB_PASS $DB_NAME > $OUT_SQL
tar -czf $TAR_SQL ./$OUT_SQL
rm $OUT_SQL
chown $DB_NAME:nobody ./$TAR_SQL
find ./ -name "mysql*" -type f -mtime +$DAYS -exec rm {} \;


+++++++++++++++++++++++++++++++++++++++++++++++++++++
mysqldump不用解釋了吧,注意-uuser -ppass這樣才可以,不能有空格。

復制代碼 代碼如下:
find ./ -name “mysql*” -type f -mtime +$DAYS -exec rm {} \;

這一句主要是在-mtime上-mtime +5表示5天前的文件,統(tǒng)一刪除

我的操作系統(tǒng)是CentOS 5.4,只要把腳本拷貝到/etc/cron.daily,并設置為相同的權限就可以執(zhí)行了,不用再添加crontab。

案例二:CentOS下自動備份網站和數(shù)據(jù)庫的腳本并上傳至FTP

假定這臺服務器的網站目錄為:/home/www,數(shù)據(jù)庫程序路徑為:/usr/local/mysql/bin,數(shù)據(jù)庫名為:levil,ftp服務器為:ftphost,下面先來看完整的自動備份腳本(自動備份腳本保存位置為:/home/backup.sh):

復制代碼 代碼如下:

#!/bin/bash
cd /home
WebBakName=web_$(date +%y%m%d).tar.gz
tar zcvf $WebBakName www
SqlBakName=sql_$(date +%y%m%d).tar.gz
/usr/local/mysql/bin/mysqldump -uusername -ppassword levil>backup.sql
tar zcvf $SqlBakName backup.sql
ftp -nv ftphost EOF
user ftpname ftppass
put $WebBakName
put $SqlBakName
quit
EOF
rm -f backup.sql $WebBakName $SqlBakName

下面來給大家一一講解:首先進入/home目錄,定義WebBakName變量為網站備份的文件名,文件名格式為web日期.tar.gz,定義SqlBakName變量為數(shù)據(jù)庫備份的文件名,文件名格式為sql日期.tar.gz,把整個網站目錄www打包到WebBakName文件名中,使用mysqldump導出指定數(shù)據(jù)庫內容到backup.sql,然后把數(shù)據(jù)庫備份打包到SqlBakName文件中,本機備份工作至此結束,如果你沒有足夠大的遠程ftp空間的話,可以直接把備份文件下載到本機,但我還是建議直接備份到另外一個服務器上的ftp空間中,做到完全自動化備份,這時你需要把腳本中的ftphost、ftpname和ftppass分別替換成你的ftp信息,整個備份過程就完成了。

接著輸入chmod +x backup.sh給腳本添加執(zhí)行權限,再輸入:crontab -e編輯任務自動開始時間,比如我輸入:

00 05 1 /home/backup.sh 就代表每周1的上午5點整執(zhí)行該自動備份操作。

在這一切完成之后,你可以先把自動任務時間改為當前的接近時間,看自動備份腳本是否工作正常,測試OK的話以后就不用擔心這臺服務器出現(xiàn)任何問題導致數(shù)據(jù)丟失了,當然如果你的數(shù)據(jù)更新比較頻繁的話,建議把自動備份時間調整為每日

您可能感興趣的文章:
  • shell腳本定時備份MySQL數(shù)據(jù)庫數(shù)據(jù)并保留指定時間
  • shell腳本實現(xiàn)mysql定時備份、刪除、恢復功能
  • 使用shell腳本每天對MySQL多個數(shù)據(jù)庫自動備份的講解
  • 用shell寫一個mysql數(shù)據(jù)備份腳本
  • MySQL數(shù)據(jù)庫的shell腳本自動備份
  • linux下mysql如何自動備份shell腳本
  • 一個簡單的MySQL備份Shell腳本
  • CentOS下mysql定時備份Shell腳本分享
  • Shell腳本自動備份MySQL到FTP并定期清理過期備份
  • mysql常用備份命令和shell備份腳本分享

標簽:青島 南充 隨州 西藏 朝陽 雅安 通遼 延邊

巨人網絡通訊聲明:本文標題《shell實現(xiàn)自動備份mysql、整站數(shù)據(jù)的兩個腳本分享》,本文關鍵詞  shell,實現(xiàn),自動,備份,mysql,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell實現(xiàn)自動備份mysql、整站數(shù)據(jù)的兩個腳本分享》相關的同類信息!
  • 本頁收集關于shell實現(xiàn)自動備份mysql、整站數(shù)據(jù)的兩個腳本分享的相關信息資訊供網民參考!
  • 推薦文章
    寻甸| 西藏| 靖安县| 高安市| 广元市| 新宁县| 望城县| 昭通市| 宁明县| 涟源市| 南投市| 上高县| 大城县| 抚宁县| 和林格尔县| 微山县| 阿拉善盟| 吉林省| 曲阜市| 元朗区| 呼伦贝尔市| 聂拉木县| 库尔勒市| 定兴县| 邓州市| 吴川市| 旺苍县| 柘城县| 商水县| 太和县| 邯郸市| 叶城县| 柳江县| 合肥市| 保定市| 攀枝花市| 佛山市| 新巴尔虎左旗| 林芝县| 宁晋县| 天台县|