使用shell自動備份資料庫

來源:互聯網
上載者:User

標籤:天前   result   false   沒有   today   l資料庫   地址   grep   輸入資料   

#!/bin/sh#mysql地址#檢測使用者是否手動輸入了密碼mysql_host=""#mysql使用者mysql_user=""#mysql密碼mysql_password=""#mysql資料庫名#如果不填寫需要匯出的資料庫名稱提示錯誤資訊並終止執行,注意[]裡面兩邊必須有空格if [ ! -n "$1" ];then    echo "您沒有輸入資料庫名稱"    echo "格式:xxx.sh 資料庫名稱"    exitfimysql_name="$1"#mysql安裝路徑mysql_path="/usr/bin/"#備份檔案存放路徑bak_path="/root/shell/mysqlBak/${mysql_name}"#刪除到期資料 true代表是 false代表否delete_overdue_data="true"#刪除多少天前資料 預設30天delete_overdue_data_days=30#檢測目錄是否存在,如果不存在自動建立目錄if [ ! -x "${bak_path}" ];then    mkdir "${mysql_name}"    chmod 755 "${bak_path}"fi#備份時間bak_date=`date +%F`${mysql_path}/mysqldump --opt -u${mysql_user} -p${mysql_password} -h${mysql_host} ${mysql_name} | gzip > ${bak_path}/${bak_date}.sql.gz#檢測是否刪除到期資料if [ "${delete_overdue_data}" != "true" ];then    echo "備份資料完成..."    exitfi#刪除到期備份資料#擷取今天日期the_date_today=`date +%Y%m%d`#擷取要刪除的檔案find_date_file=`date -d "${the_date_today} ${delete_overdue_data_days} days ago" "+%Y-%m-%d"`#進入指定目錄cd ${bak_path}#尋找要刪除的資料ls -l|grep ${find_date_file}#取得尋找結果0不存在 1存在result=$?echo ${result}if [ ${result} == 0 ];then    echo "刪除到期資料"    `rm -f ${find_date_file}.*`

  

使用shell自動備份資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.