linuxDatabase Backup並通過ftp上傳指令碼分享_linux shell

來源:互聯網
上載者:User

複製代碼 代碼如下:

#!/bin/bash

#author: 505056357@qq.com

echo "backup job start"

#設定要備份的網站目錄,即是網站的根目錄

file=/home/wwwroot/default

#設定本地備份目錄,用於存放打包後的檔案

backpath=/home/wwwroot/bkdata/

dbuser=root

#資料密碼,要記得用單引號將把整個密碼引起來,如果密碼中有單引號就用雙引號,嘿嘿

dbpwd='123456'

dbname=car

domain=192.168.0.187

user=ftpuser

userpwd='123456'

bkdate=$(date +%Y%m%d)

sqlfile_sql=${dbname}_${bkdate}.sql

sqlfile_gz=${dbname}_${bkdate}.tar.gz

sqlfp=${backpath}${bkdate}/$sqlfile_sql

if [ -e $backpath${bkdate} ]

then

        echo $backpath is exists.

else

        mkdir -p $backpath${bkdate}

fi

#執行Database Backup,/apps/mysql/bin/mysqldump修改為你實際環境的路徑

/apps/mysql/bin/mysqldump -u $dbuser -p$dbpwd $dbname > ${sqlfp}

#對備份之後的資料庫檔案壓縮,或者在Database Backup時通過加入參數直接進行壓縮

tar zcf $backpath${bkdate}/$sqlfile_gz -C ${backpath}${bkdate} ${sqlfile_sql}

#刪除未壓縮SQL的檔案

rm -f ${sqlfp}

#產生的檔案名稱格式:web_網站目錄名_20130419.tar.gz

fn=web_${file##*/}_${bkdate}.tar.gz

tar zcf $backpath${bkdate}/$fn -C ${file%/*} ${file##*/}

#以下操作為FTP自動連接並把本地檔案上傳到異地伺服器上

/usr/bin/lftp ${domain} << END

user ${user} ${userpwd}

lcd ${backpath}

mirror -R ${bkdate}

exit

END

echo "backup job done"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.