日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

shell+html+div+css实现数据库冷备文件检查

發布時間:2025/3/15 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell+html+div+css实现数据库冷备文件检查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?目前生產有一臺數據庫冷備服務器,數據庫備份每天通過rsync傳到該機上,為了方便檢查是否冷備正常,就利用有限的知識弄了個頁面顯示(可憐大學只學了一下可憐的asp.net 2.0),實現的方式是shell+html。寫這個腳本的時候shell也是剛學,那時連加郵件、短信報警都沒,囧!,現在回頭看那個腳本,自己都覺得很搞笑,不知道大家有沒有這種感覺...幸好現在后知后覺,努力自學pythoning...

先看下最終效果圖:

腳本內容:

  • -rwxr-xr-x?1?root?root???96?2012-02-19?bottom.sh?
  • -rwxr-xr-x?1?root?root?3554?02-02?16:36?CheckBackup.sh?
  • -rwxr-xr-x?1?root?root??802?2012-02-20?head.sh?
  • -rwxr-xr-x?1?root?root??865?12-22?12:10?oldlist.sh?
  • 腳本介紹:

  • [root@localhost?CheckBackup]#?cat?bottom.sh??
  • #!/bin/bash?
  • #輸出html底部信息?
  • main()?
  • {?
  • ?echo?"</table>"?
  • ?echo?"</div>"?
  • ?echo?"</body>"?
  • }?
  • main?

  • [root@localhost?CheckBackup]#?cat?CheckBackup.sh??
  • #!/bin/bash?
  • ?
  • #time:???2012-02-17?
  • #author:?reed?
  • #func:???生產數據庫備份檢查?
  • ?
  • #define?
  • #腳本存放路徑?
  • ShellPath=/usr/BAK-database/CheckBackup?
  • #頁面存放處?
  • DPath=/usr/apache-tomcat-6.0.32/webapps/ROOT/ShowCheckBackup?
  • [?!?-d?$DPath?]?&&?mkdir?-p?$DPath?
  • #生產的主文件名?
  • FileName=ShowCheckBackup.html?
  • #前一天的文件名?
  • BAKFileName=ShowCheckBackup`date?-d"1?day?ago"?+%y%m%d`.html?
  • #獲取當前檢查日期?
  • CheckDate=`date?+'%Y-%m-%d_%H:%M:%S'`?
  • #數據庫備份的目錄?
  • FilePath=/usr/BAK-database?
  • #當前備份的文件名?
  • CurrentFile=`date?+%y%m%d`.sql.tar.gz?
  • #CurrentFile=120218.sql.tar.gz?
  • ?
  • #備份前一天的備份信息?
  • if?[?!?-f?$ShellPath/$BAKFileName?];then?
  • ??mv?$ShellPath/$FileName?$ShellPath/$BAKFileName?
  • ??cp?-r?$ShellPath/$BAKFileName?$DPath?
  • fi?
  • ?
  • #檢查備份情況函數(主函數)?
  • CheckBackup()?
  • {?
  • ?echo?-e?"<tr>"?
  • ?#echo?-e?"<td><span>$CheckDate</span></td>"?
  • ?cd?$FilePath/$1?
  • ?#?注:如果以后要新增系統,分別在后面加上相應的選項?
  • ?case?$1?in?
  • ???'WEBP')?
  • ?????db_name='前置數據庫';;?
  • ???'WEBP-ZJ')?
  • ?????db_name='前置數據庫(浙江)';;?
  • ???'ecard')?
  • ?????db_name='匯卡數據庫';;?
  • ???'dbebs')?
  • ?????db_name='企業E卡數據庫';;?
  • ???'tas')?
  • ?????db_name='轉賬通系統數據庫';;?
  • ???'oracle')?
  • ?????db_name='清算系統數據庫';;?
  • ???'monitor')?
  • ?????db_name='反洗錢系統數據庫';;?
  • ???'order')?
  • ?????db_name='客戶端前置數據庫';;?
  • ???'GUOANSP')?
  • ?????db_name='增值平臺數據庫';;?
  • ???'dg77')?
  • ?????db_name='三合一商戶管理系統';;?
  • ???'youyicheng')?
  • ?????db_name='優易城';;?
  • ?esac?
  • ?fsize=`ls?-tl?|grep?"$2$CurrentFile"|awk?'{print?$5}'`?
  • ?if?[?!?-f?$2$CurrentFile?]?||?[?$fsize?-lt?1000?];then?
  • ???echo?-e?"<td?colspan="4"?id='td1'>文件[<span?id='span2'>$2$CurrentFile</span>]不存在!數據庫[<span?id='span2'>$db_name</span>]備份出現異常,請檢查!</td>"?
  • ???#發報警短信?
  • ???$ShellPath/info_takeok.sh?"$db_name備份異常,請檢查"?&>/dev/null?
  • ?else?
  • ???#輸出數據庫名稱?
  • ???echo?-e?"<td><span>$db_name</span></td>"?
  • ???#獲取數據庫目錄大小?
  • ???dirsize=`du?-sh?$FilePath/$1|awk?'{print$1}'`?
  • ???echo?-e?"<td><span>$dirsize</span></td>"?
  • ???#輸出備份文件名?
  • ???echo?-e?"<td><span>$2$CurrentFile</span></td>"?
  • ???#獲取文件大小?
  • ???fsize=`ls?-thl?|grep?"$2$CurrentFile"|awk?'{print?$5}'`?
  • ???#輸出文件大小??
  • ???echo?-e?"<td><span>$fsize</span></td>"?
  • ???echo?-e?"<td><span?id='span1'>正常</span></td>"?
  • ???echo?-e?"</tr>"?
  • ???#輸出所在分區空間?
  • ???#dsize=`df?-kh?/usr/`?
  • ???#echo?-e?"<tr>"?
  • ???#echo?-e?"<td??colspan="5">$dsize</td>"?
  • ???#echo?-e?"</tr>"?
  • ?fi?
  • }?
  • ?
  • #輸入參數,檢查每個數據庫備份情況?
  • #注:第一個參數為備份的數據庫目錄,第二個參數為備份的文件名頭?
  • #如:浙江前置的數據庫備份目錄為WEBP-ZJ,文件名為WEBP120218.sql.tar.gz,則輸入參數WEBP-ZJ和WEBP?
  • Check()?
  • {?
  • ?#打印html文件頭部信息?
  • ?$ShellPath/head.sh?????????????????>??$ShellPath/$FileName?
  • ?
  • ?CheckBackup?WEBP?WEBP?????????????>>??$ShellPath/$FileName?
  • ?CheckBackup?WEBP-ZJ?WEBP??????????>>??$ShellPath/$FileName?
  • ?CheckBackup?ecard?ecard???????????>>??$ShellPath/$FileName?
  • ?CheckBackup?dbebs?dbebs???????????>>??$ShellPath/$FileName?
  • ?CheckBackup?tas?tas???????????????>>??$ShellPath/$FileName?
  • ?CheckBackup?oracle?oracle_bak?????>>??$ShellPath/$FileName?
  • ?CheckBackup?monitor?monitor???????>>??$ShellPath/$FileName?
  • ?CheckBackup?order?client??????????>>??$ShellPath/$FileName?
  • ?CheckBackup?GUOANSP?GUOANSP???????>>??$ShellPath/$FileName?
  • ?CheckBackup?dg77?dg77?????????????>>??$ShellPath/$FileName?
  • ?CheckBackup?youyicheng?ecshop?????>>??$ShellPath/$FileName?
  • ?
  • ?#打印html文件尾部信息?
  • ?$ShellPath/bottom.sh??????????????>>??$ShellPath/$FileName?
  • ?#輸出往期備份列表頁面?
  • ?$ShellPath/oldlist.sh?
  • }?
  • Check?
  • ?
  • #復制打印出的文件到TOMCAT工程,顯示到頁面上?
  • CopyFile()?
  • {?
  • ?cp?-r?$ShellPath/$FileName?$DPath?
  • ?cp?-r?$ShellPath/css.css?$DPath?
  • }?
  • CopyFile?

  • [root@localhost?CheckBackup]#?cat?head.sh??
  • #!/bin/bash?
  • ?
  • #獲取當前時間?
  • CheckDate=`date?+'%Y-%m-%d?%H:%M:%S'`?
  • CheckDay=`date?+%A`?
  • ?
  • #輸出html文件頭?
  • main()?
  • {?
  • ?echo?"<body>"?
  • ?echo?"<head>"?
  • ??echo?"<title>匯卡生產數據庫冷備檢查</title>"?
  • ??echo?"<link?href="css.css"?rel="stylesheet"?type="text/css"?/>"?
  • ?echo?"</head>"?
  • ?echo?"<body>"?
  • ??echo?"<div?id='div1'>"?
  • ??echo?"<h1>匯卡生產數據庫冷備檢查</h1>"?
  • ??echo?"<table?>"?
  • ???echo?"<tr?><td?colspan="5"?id='td1'>檢查日期:$CheckDate($CheckDay)</td></tr>"?
  • ???echo?"<tr><td?colspan="5"?><a?href='OldList.html'?target='_blank'>>>查看往期備份</a></td></tr>"?
  • ???echo?"<tr?id='tr2'>"?
  • ????#echo?"<td>檢查日期</td>"?
  • ????echo?"<td>數據庫名稱</td>"?
  • ????echo?"<td>當前備份目錄大小</td>"?
  • ????echo?"<td>當前備份文件名</td>"?
  • ????echo?"<td>當前備份文件大小</td>"?
  • ????echo?"<td>當前備份狀態</td>"?
  • ???echo?"</tr>"?
  • }?
  • main?

  • [root@localhost?CheckBackup]#?cat?oldlist.sh??
  • #!/bin/bash?
  • ?
  • SavePath=/usr/apache-tomcat-6.0.32/webapps/ROOT/ShowCheckBackup?
  • cd?$SavePath?
  • #獲取目錄大小?
  • #SaveFile=`ls?-tl?|grep?"ShowCheckBackup"|awk?'{print?$9}'`?
  • SaveFile=`ls?-t?|grep?Show`?
  • FilePath=/usr/BAK-database?
  • OldListFile=OldList.html?
  • ?
  • #輸出往期備份頁面?
  • main()?
  • {?
  • ?echo?"<body>"?
  • ?echo?"<head>"?
  • ??echo?"<title>匯卡生產數據庫冷備檢查[往期備份列表]</title>"?
  • ??echo?"<link?href="css.css"?rel="stylesheet"?type="text/css"?/>"?
  • ?echo?"</head>"?
  • ?echo?"<body>"?
  • ??echo?"<div?id='div1'>"?
  • ??echo?"<h1>匯卡生產數據庫冷備檢查</h1>"?
  • ??echo?"<table>"?
  • ??echo?"<tr?>"?
  • ??echo?"<td?id='td1'?colspan="2">往期備份情況</td></tr>"?
  • ??for?SFile?in?$SaveFile;do?
  • ???echo?"<tr>"?
  • ???echo?"<td><a?href='$SFile'?target='_blank'>$SFile</a></td>"?
  • ???echo?"</tr>"?
  • ??done??
  • ?echo?"</table>"?
  • ?echo?"</div>"?
  • ?echo?"</body>"?
  • }?
  • main?>?$FilePath/$OldListFile?
  • cp?-r?$FilePath/$OldListFile?$SavePath/?
  • CSS文件:

  • [root@localhost?CheckBackup]#?cat?css.css??
  • #div1,table?
  • {?
  • ?margin:0?auto;?
  • ?text-align:center;?
  • }?
  • #tr2{?
  • ????????background:#09F;?
  • ????????font-weight:bold;?
  • ????????color:#FFF;}?
  • #td1{?
  • ????????#font-size:18px;?
  • ????????font-weight:bold;?
  • ????????color:#F00;}?
  • #td2{?????????
  • ????????#font-size:24px;?
  • ????????font-weight:bold;?
  • ????????color:#F00;}?
  • #span1?
  • {?
  • ?font-weight:bold;?
  • ?color:#0F0;?
  • }?
  • #span2?
  • {??
  • ?font-weight:bold;?
  • }?
  • table,td{?
  • ????????width:900px;?
  • ????????border-collapse:collapse;?
  • ????????border:?1px?solid?#666;?
  • ????????padding:10px?0px?10px?0px;}?
  • ?a?
  • {?
  • ????????text-decoration:none;?
  • ????????list-style:none;?
  • ????????color:#09f;?
  • ????????font-weight:bolder;?
  • ?
  • }?
  • ?a:hover?
  • {?
  • ????????text-decoration:underline;?
  • ????????color:#2367ac;?
  • }?
  • 最后把CheckBackup.sh腳本寫到crontab,每天8點執行

    腳本是剛開始學的時候寫的,寫的很戳,但我覺得思路還是挺不錯的,等我學好python,一定要用python+mysql來實現各種DIY。

    總結

    以上是生活随笔為你收集整理的shell+html+div+css实现数据库冷备文件检查的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。