真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

shell編程實(shí)戰(zhàn)之網(wǎng)站文件及數(shù)據(jù)庫文件如何備份

建站服務(wù)器

這篇文章主要介紹shell編程實(shí)戰(zhàn)之網(wǎng)站文件及數(shù)據(jù)庫文件如何備份,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的建甌網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

文件備份的重要性不言而喻,定期備份是個(gè)好習(xí)慣,不管是網(wǎng)站文件還是日常生活的照片、視頻等。不然等到數(shù)據(jù)丟失了,你就能體會(huì)數(shù)據(jù)找不回來的那種絕望了。筆者親身經(jīng)歷過幾次,最嚴(yán)重的一次是個(gè)人博客7個(gè)多月的數(shù)據(jù)全部丟失,那真是種欲哭無淚的感覺。

今天和大家來講下如何在服務(wù)器端編寫備份網(wǎng)站目錄及數(shù)據(jù)庫文件的腳本。首先需要先補(bǔ)充幾個(gè)知識(shí):

tar命令,文件的壓縮打包

find命令,查找文件

bzip2,文件壓縮

為了節(jié)省空間,我們經(jīng)常會(huì)對(duì)目錄文件做壓縮并打包的操作。bzip2命令可以對(duì)文件進(jìn)行壓縮,但它不能對(duì)目錄進(jìn)行壓縮,對(duì)目錄則可以使用tar命令壓縮打包。

因?yàn)閿?shù)據(jù)庫文件就是一個(gè)單獨(dú)的sql文件,所以可以使用bzip2命令對(duì)其壓縮。

mysqldump -u用戶名 -p密碼 --all-databases | bzip2 > 備份目錄/文件名

而網(wǎng)站文件則需要使用tar命令來進(jìn)行壓縮。

tar -jcpf 備份目錄/文件名  需備份的目錄

雖然我們每天都會(huì)進(jìn)行備份,但是我們只想保存最近七天的備份記錄,7天前的備份數(shù)據(jù)自動(dòng)刪除。這里我們就需要使用find命令來找出7天前的備份文件,然后將其刪除。

find 備份目錄 -mtime +7 -type f -exec rm -f {} \\;

下面開始正式編寫shell腳本。首先,我們需要定義備份目錄,如果備份目錄不存在,則需要先創(chuàng)建目錄。

WWW_DIR=/home/wwwroot
BAK_DIR=/root/bak

if [ ! -d $BAK_DIR ];then
    mkdir $BAK_DIR
fi

接下來 ,就是進(jìn)行網(wǎng)站目錄以及數(shù)據(jù)庫文件的備份了

tar -jcpf $BAK_DIR/www_$(date +%Y%m%d).tar.bz2 $WWW_DIR 2>/dev/null
Mysqldump -uroot -p123456 --all-databases | bzip2 > $BAK_DIR/all_database_$(date +%Y%m%d).sql

最后,只要?jiǎng)h除七天前的備份數(shù)據(jù)即可

find $BAK_DIR -type f -mtime +7 -exec rm -f {} \\;

下面貼出完整代碼:

#!/bin/bash
# 備份數(shù)據(jù)庫文件及網(wǎng)站文件

WWW_DIR=/home/wwwroot
BAK_DIR=/root/bak

if [ ! -d $BAK_DIR ];then
    mkdir $BAK_DIR
fi

# 備份網(wǎng)站文件及數(shù)據(jù)庫文件
tar -jcpf $BAK_DIR/www_$(date +%Y%m%d).tar.bz2 $WWW_DIR 2>/dev/null
MYSQLdump -uroot -pGuiyuan#520@1314 --all-databases | bzip2 > $BAK_DIR/all_database_$(date +%Y%m%d).sql 

# 刪除7天前的備份數(shù)據(jù)
find $BAK_DIR -type f -mtime +7 -exec rm -f {} \\;

最后,還是希望大家能養(yǎng)成備份的習(xí)慣。除了服務(wù)器上的每日備份,另外還是建議一個(gè)星期,從服務(wù)器上拷貝一份數(shù)據(jù)到本地磁盤,保證數(shù)據(jù)萬無一失。

以上是shell編程實(shí)戰(zhàn)之網(wǎng)站文件及數(shù)據(jù)庫文件如何備份的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享名稱:shell編程實(shí)戰(zhàn)之網(wǎng)站文件及數(shù)據(jù)庫文件如何備份
網(wǎng)址分享:http://weahome.cn/article/cggghi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部