相信很多個(gè)人網(wǎng)站的站長,或者是獨(dú)立Blog的博主,都有著備份數(shù)據(jù)庫這樣一個(gè)需求。當(dāng)然WordPress這樣插件非常豐富的Blog系統(tǒng)有好多能幫你完成這項(xiàng)任務(wù)的插件。如果您需要自己親手來備份數(shù)據(jù)庫的話,我貼一個(gè)Mysql自動(dòng)備份腳本供大家參考,在國外網(wǎng)站上看到的,還是不錯(cuò),實(shí)現(xiàn)了定期備份Mysql數(shù)據(jù)庫,并且可以選在在每周的一天做指定目錄下文件的全面?zhèn)浞?,備份文件自?dòng)上傳到你指定的FTP上,保證了備份的可靠性。如果只是把數(shù)據(jù)庫備份在和數(shù)據(jù)庫一起,我想意義也不是特別大了。
		#!/bin/sh
		# System + MySQL backup script
		# Full backup day - Sun (rest of the day do incremental backup)
		# Copyright (c) 2005-2006 nixCraft <http://www.cyberciti.biz/fb/>
		# This script is licensed under GNU GPL version 2.0 or above
		# Automatically generated by
		# http://bash.cyberciti.biz/backup/wizard-ftp-script.php
		# ---------------------------------------------------------------------
		 
		### System Setup ###
		##備份本件本地目錄##
		DIRS="/home/xxxx"
		BACKUP=/tmp/backup.$$
		##日期格式 可以自己調(diào)節(jié)##
		NOW=$(date +"%Y-%m-%d")
		INCFILE="/home/xxxx"
		DAY=$(date +"%u")
		##星期天完全備份 可以自己調(diào)節(jié)##
		FULLBACKUP="7"
		 
		### MySQL Setup ###
		MUSER="chaos"
		MPASS="password"
		MHOST="host"
		MYSQL="$(which mysql)"
		MYSQLDUMP="$(which mysqldump)"
		GZIP="$(which gzip)"
		 
		### FTP server Setup ###
		##增量備份路徑##
		FTPD="/backup/xxxx/incremental"
		FTPU="chaos"
		FTPP="password"
		FTPS="xxx.xxx.com"
		 
		### Other stuff ###
		EMAILID="chaos@diablo.net"
		 
		### Start Backup for file system ###
		[ ! -d $BACKUP ] && mkdir -p $BACKUP || :
		 
		### See if we want to make a full backup ###
		if [ "$DAY" == "$FULLBACKUP" ]; then
		##完全備份路徑##
		  FTPD="/backup/xxxx/full"
		  FILE="fs-full-$NOW.tar.gz"
		  tar -zcvf $BACKUP/$FILE $DIRS
		else
		  i=$(date +"%Hh%Mm%Ss")
		  FILE="fs-i-$NOW-$i.tar.gz"
		  tar -g $INCFILE -zcvf $BACKUP/$FILE $DIRS
		fi
		 
		### Start MySQL Backup ###
		# Get all databases name
		##備份所有數(shù)據(jù)庫 可自行調(diào)整 或備份指定數(shù)據(jù)庫##
		DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
		for db in $DBS
		do
		 FILE=$BACKUP/mysql-$db.$NOW-$(date +"%T").gz
		 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
		done
		 
		### Dump backup using FTP ###
		#Start FTP backup using lftp
		##ubuntu上可以使用ncftp 自行調(diào)節(jié)##
		#ncftp -u"$FTPU" -p"$FTPP" $FTPS<<EOF
		lftp -u $FTPU,$FTPP $FTPS<<EOF
		mkdir $FTPD
		mkdir $FTPD/$NOW
		cd $FTPD/$NOW
		lcd $BACKUP
		mput *
		quit
		EOF
		 
		### Find out if ftp backup failed or not ###
		if [ "$?" == "0" ]; then
		 rm -f $BACKUP/*
		else
		 T=/tmp/backup.fail
		 echo "Date: $(date)">$T
		 echo "Hostname: $(hostname)" >>$T
		 echo "Backup failed" >>$T
		 mail  -s "BACKUP FAILED" "$EMAILID" <$T
		 rm -f $T
		fi
改一下里面的一些路徑和賬號(hào)密碼等信息就可以了,希望對(duì)大家有所用處。
新聞熱點(diǎn)
疑難解答
圖片精選