linux下實現(xiàn)VPS免費備份腳本
更新時間:2012年05月11日 23:30:34 作者:
因為本bolg是架設(shè)在vps上的,空間商又沒有提供備份的功能,所以說哪天vps掛了,我的網(wǎng)站也就跟著掛了
有人說你怎么不備份呢?這個問題我也考慮過啊,其實你有沒有想過對于這種國外的vps什么的,備份一下所有的網(wǎng)站怎么說也得百十兆吧。
你總不能天天去下載吧?這帶寬可受不了,就算是帶寬充足,說不定vps哪天也讓你給下載掛了。
ok~切入正題,先說這個免費備份的問題,實際上也不免費,只是有個前提,那就是你在godaddy.com的買的有域名,大家都知道在godaddy上買域名可以免費申請空間的,對于不用這東西的來說實在是太浪費了,所以今天的主題就是針對那些在godaddy買過域名有免費空間的盆友(在godaddy有域名沒申請空間的可以去問問度娘谷哥)
那我們備份vps的原理就是利用shell腳本備份網(wǎng)站以及數(shù)據(jù)庫,然后通過ftp腳本吧備份文件上傳到godaddy的免費空間,簡單吧。
那我就直接上腳本了~嘿嘿。
下面這個是備份網(wǎng)站和數(shù)據(jù)庫的腳本:
#!/bin/bash
#set -x
time=`date +%Y%m%d`
#下面是備份MySql
[ ! -e /backup/sqltmp ] && mkdir -p /backup/sqltmp #創(chuàng)建臨時備份mysql目錄
[ ! -e /backup/backsql ] && mkdir -p /backup/backsql #創(chuàng)建mysql備份的存放目錄
cd /backup/sqltmp
sql=`mysqlshow -u用戶名 -p密碼 |grep -v + | grep -Ev “Data|information|mysql|test” | awk {‘print $2′}` #查詢mysql數(shù)據(jù)庫里出系統(tǒng)數(shù)據(jù)以外的網(wǎng)站數(shù)據(jù)庫,這里可以根據(jù)需要修改
for sqlname in $sql
do
mysqldump -u用戶名 -p密碼 $sqlname > $sqlname.sql
done
tar zcvf backsql.$time.tar.gz *.sql
rm -rf *.sql
mv * ../backsql/.
cd ..
rm -rf sqltmp
#下面是備份網(wǎng)站
[ ! -e /backup/webtmp ] && mkdir -p /backup/webtmp #創(chuàng)建臨時備份web文件目錄
[ ! -e /backup/backweb ] && mkdir -p /backup/backweb #創(chuàng)建web文件備份的存放目錄
cd /backup/webtmp
tar zcvf backweb.$time.tar.gz /home/*
mv * ../backweb/.
cd ..
rm -rf webtmp
下面這個是上傳到通過ftp把備份網(wǎng)站上傳到godaddy空間上的腳本:
#!/bin/bash
backsql=`cd /backup/backsql;ls -r backsql* | head -1` #因為每天都備份文件取最新的那個
backweb=`cd /backup/backweb;ls -r backweb* | head -1`
ftp -n<<EOF
open ip #這里寫godaddy空間的ip
user ftp用戶名 ftp密碼
binary
cd /back/ #備份文件要存放的ftp上的路徑
lcd /backup/backsql/ #備份mysql文件本地存放路徑
prompt
mput $backsql
lcd /backup/backweb/ #備份web文件本地存放路徑
mput $backweb
close
bye
EOF
然后把這兩個腳本做個crontab計劃任務(wù)就實現(xiàn)每天定時異地備份了,而且省時省力省錢。
[root@90itt.com ~]# crontab -e
01 0 * * * /root/backup.sh
0 5 * * * /root/ftp.sh
你總不能天天去下載吧?這帶寬可受不了,就算是帶寬充足,說不定vps哪天也讓你給下載掛了。
ok~切入正題,先說這個免費備份的問題,實際上也不免費,只是有個前提,那就是你在godaddy.com的買的有域名,大家都知道在godaddy上買域名可以免費申請空間的,對于不用這東西的來說實在是太浪費了,所以今天的主題就是針對那些在godaddy買過域名有免費空間的盆友(在godaddy有域名沒申請空間的可以去問問度娘谷哥)
那我們備份vps的原理就是利用shell腳本備份網(wǎng)站以及數(shù)據(jù)庫,然后通過ftp腳本吧備份文件上傳到godaddy的免費空間,簡單吧。
那我就直接上腳本了~嘿嘿。
下面這個是備份網(wǎng)站和數(shù)據(jù)庫的腳本:
復(fù)制代碼 代碼如下:
#!/bin/bash
#set -x
time=`date +%Y%m%d`
#下面是備份MySql
[ ! -e /backup/sqltmp ] && mkdir -p /backup/sqltmp #創(chuàng)建臨時備份mysql目錄
[ ! -e /backup/backsql ] && mkdir -p /backup/backsql #創(chuàng)建mysql備份的存放目錄
cd /backup/sqltmp
sql=`mysqlshow -u用戶名 -p密碼 |grep -v + | grep -Ev “Data|information|mysql|test” | awk {‘print $2′}` #查詢mysql數(shù)據(jù)庫里出系統(tǒng)數(shù)據(jù)以外的網(wǎng)站數(shù)據(jù)庫,這里可以根據(jù)需要修改
for sqlname in $sql
do
mysqldump -u用戶名 -p密碼 $sqlname > $sqlname.sql
done
tar zcvf backsql.$time.tar.gz *.sql
rm -rf *.sql
mv * ../backsql/.
cd ..
rm -rf sqltmp
#下面是備份網(wǎng)站
[ ! -e /backup/webtmp ] && mkdir -p /backup/webtmp #創(chuàng)建臨時備份web文件目錄
[ ! -e /backup/backweb ] && mkdir -p /backup/backweb #創(chuàng)建web文件備份的存放目錄
cd /backup/webtmp
tar zcvf backweb.$time.tar.gz /home/*
mv * ../backweb/.
cd ..
rm -rf webtmp
下面這個是上傳到通過ftp把備份網(wǎng)站上傳到godaddy空間上的腳本:
復(fù)制代碼 代碼如下:
#!/bin/bash
backsql=`cd /backup/backsql;ls -r backsql* | head -1` #因為每天都備份文件取最新的那個
backweb=`cd /backup/backweb;ls -r backweb* | head -1`
ftp -n<<EOF
open ip #這里寫godaddy空間的ip
user ftp用戶名 ftp密碼
binary
cd /back/ #備份文件要存放的ftp上的路徑
lcd /backup/backsql/ #備份mysql文件本地存放路徑
prompt
mput $backsql
lcd /backup/backweb/ #備份web文件本地存放路徑
mput $backweb
close
bye
EOF
然后把這兩個腳本做個crontab計劃任務(wù)就實現(xiàn)每天定時異地備份了,而且省時省力省錢。
復(fù)制代碼 代碼如下:
[root@90itt.com ~]# crontab -e
01 0 * * * /root/backup.sh
0 5 * * * /root/ftp.sh
您可能感興趣的文章:
- Linux VPS利用SSH重置ROOT密碼的方法
- Linux VPS安全設(shè)置之二 禁用ROOT賬戶
- Linux VPS安全設(shè)置之一 修改SSH端口(CentOS/Debian)
- Linux VPS備份教程 數(shù)據(jù)庫/網(wǎng)站文件自動定時備份
- Linux VPS備份教程 手動備份網(wǎng)站數(shù)據(jù)
- Linux VPS/服務(wù)器 網(wǎng)站及數(shù)據(jù)庫自動本地備份并FTP上傳備份腳本
- linux下Vps自動備份web和mysql數(shù)據(jù)庫的腳本
- Linux VPS下簡單解決CC攻擊的方法
- Linux VPS 計劃任務(wù)crond命令的使用方法分享
- Linux VPS 自動備份數(shù)據(jù)到遠(yuǎn)程主機FTP的方法
- Linux VPS下SSH常用命令整理
- 使用Putty遠(yuǎn)程(SSH)管理Linux VPS的圖文教程
- linux VPS主機上備份網(wǎng)站和數(shù)據(jù)庫的方法
- Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)庫的幾種方法
- Linux Nginx VPS下簡單解決CC攻擊
- 火山互聯(lián)linux VPS配置方法
- linux使用管道命令執(zhí)行ps獲取cpu與內(nèi)存占用率
相關(guān)文章
Linux操作文件的底層系統(tǒng)調(diào)用,探究父子進(jìn)程是否可以共享文件問題
這篇文章主要介紹了Linux操作文件的底層系統(tǒng)調(diào)用,探究父子進(jìn)程是否可以共享文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03CentOS6.4 下安裝SVN的詳細(xì)教程(超詳細(xì))
這篇文章主要介紹了CentOS6.4 下安裝SVN的詳細(xì)教程,在安裝之前需要檢查是否已經(jīng)安裝過了,然后使用yum install subversion安裝,具體操作詳細(xì)過程請參考本文2016-10-10在Linux中為現(xiàn)有用戶創(chuàng)建主目錄:useradd問題
這篇文章主要介紹了在Linux中為現(xiàn)有用戶創(chuàng)建主目錄:useradd問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04解析linux或android添加文件系統(tǒng)的屬性接口的方法
這篇文章主要介紹了linux或android添加文件系統(tǒng)的屬性接口的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03在Ubuntu上搭建一個基于webrtc的多人視頻聊天服務(wù)實例代碼詳解
這篇文章主要介紹了在Ubuntu上搭建一個基于webrtc的多人視頻聊天服務(wù),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02