linux下實(shí)現(xiàn)VPS免費(fèi)備份腳本
更新時(shí)間:2012年05月11日 23:30:34 作者:
因?yàn)楸綽olg是架設(shè)在vps上的,空間商又沒有提供備份的功能,所以說哪天vps掛了,我的網(wǎng)站也就跟著掛了
有人說你怎么不備份呢?這個(gè)問題我也考慮過啊,其實(shí)你有沒有想過對(duì)于這種國外的vps什么的,備份一下所有的網(wǎng)站怎么說也得百十兆吧。
你總不能天天去下載吧?這帶寬可受不了,就算是帶寬充足,說不定vps哪天也讓你給下載掛了。
ok~切入正題,先說這個(gè)免費(fèi)備份的問題,實(shí)際上也不免費(fèi),只是有個(gè)前提,那就是你在godaddy.com的買的有域名,大家都知道在godaddy上買域名可以免費(fèi)申請(qǐng)空間的,對(duì)于不用這東西的來說實(shí)在是太浪費(fèi)了,所以今天的主題就是針對(duì)那些在godaddy買過域名有免費(fèi)空間的盆友(在godaddy有域名沒申請(qǐng)空間的可以去問問度娘谷哥)
那我們備份vps的原理就是利用shell腳本備份網(wǎng)站以及數(shù)據(jù)庫,然后通過ftp腳本吧備份文件上傳到godaddy的免費(fèi)空間,簡單吧。
那我就直接上腳本了~嘿嘿。
下面這個(gè)是備份網(wǎng)站和數(shù)據(jù)庫的腳本:
#!/bin/bash
#set -x
time=`date +%Y%m%d`
#下面是備份MySql
[ ! -e /backup/sqltmp ] && mkdir -p /backup/sqltmp #創(chuàng)建臨時(shí)備份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)建臨時(shí)備份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
下面這個(gè)是上傳到通過ftp把備份網(wǎng)站上傳到godaddy空間上的腳本:
#!/bin/bash
backsql=`cd /backup/backsql;ls -r backsql* | head -1` #因?yàn)槊刻於紓浞菸募∽钚碌哪莻€(gè)
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
然后把這兩個(gè)腳本做個(gè)crontab計(jì)劃任務(wù)就實(shí)現(xiàn)每天定時(shí)異地備份了,而且省時(shí)省力省錢。
[root@90itt.com ~]# crontab -e
01 0 * * * /root/backup.sh
0 5 * * * /root/ftp.sh
你總不能天天去下載吧?這帶寬可受不了,就算是帶寬充足,說不定vps哪天也讓你給下載掛了。
ok~切入正題,先說這個(gè)免費(fèi)備份的問題,實(shí)際上也不免費(fèi),只是有個(gè)前提,那就是你在godaddy.com的買的有域名,大家都知道在godaddy上買域名可以免費(fèi)申請(qǐng)空間的,對(duì)于不用這東西的來說實(shí)在是太浪費(fèi)了,所以今天的主題就是針對(duì)那些在godaddy買過域名有免費(fèi)空間的盆友(在godaddy有域名沒申請(qǐng)空間的可以去問問度娘谷哥)
那我們備份vps的原理就是利用shell腳本備份網(wǎng)站以及數(shù)據(jù)庫,然后通過ftp腳本吧備份文件上傳到godaddy的免費(fèi)空間,簡單吧。
那我就直接上腳本了~嘿嘿。
下面這個(gè)是備份網(wǎng)站和數(shù)據(jù)庫的腳本:
復(fù)制代碼 代碼如下:
#!/bin/bash
#set -x
time=`date +%Y%m%d`
#下面是備份MySql
[ ! -e /backup/sqltmp ] && mkdir -p /backup/sqltmp #創(chuàng)建臨時(shí)備份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)建臨時(shí)備份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
下面這個(gè)是上傳到通過ftp把備份網(wǎng)站上傳到godaddy空間上的腳本:
復(fù)制代碼 代碼如下:
#!/bin/bash
backsql=`cd /backup/backsql;ls -r backsql* | head -1` #因?yàn)槊刻於紓浞菸募∽钚碌哪莻€(gè)
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
然后把這兩個(gè)腳本做個(gè)crontab計(jì)劃任務(wù)就實(shí)現(xiàn)每天定時(shí)異地備份了,而且省時(shí)省力省錢。
復(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)站文件自動(dòng)定時(shí)備份
- Linux VPS備份教程 手動(dòng)備份網(wǎng)站數(shù)據(jù)
- Linux VPS/服務(wù)器 網(wǎng)站及數(shù)據(jù)庫自動(dòng)本地備份并FTP上傳備份腳本
- linux下Vps自動(dòng)備份web和mysql數(shù)據(jù)庫的腳本
- Linux VPS下簡單解決CC攻擊的方法
- Linux VPS 計(jì)劃任務(wù)crond命令的使用方法分享
- Linux VPS 自動(dòng)備份數(shù)據(jù)到遠(yuǎn)程主機(jī)FTP的方法
- Linux VPS下SSH常用命令整理
- 使用Putty遠(yuǎn)程(SSH)管理Linux VPS的圖文教程
- linux VPS主機(jī)上備份網(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)文章
配置fail2ban對(duì)Apache服務(wù)器進(jìn)行安全防護(hù)的方法
這篇文章主要介紹了配置fail2ban對(duì)Apache服務(wù)器進(jìn)行安全防護(hù)的方法,主要是起到過濾IP地址的效果,示例基于Linux系統(tǒng),需要的朋友可以參考下2015-06-06
linux控制臺(tái)下實(shí)現(xiàn)2048小游戲
2048小游戲已經(jīng)火了很久了,各種程序版本的都有,今天我們就來給大家分享一個(gè)在Linux控制臺(tái)中實(shí)現(xiàn)2048小游戲的代碼,希望大家能夠喜歡。2015-03-03
Linux防火墻配置及iptables與firewalld的使用解讀
防火墻是一種網(wǎng)絡(luò)安全設(shè)備,通過規(guī)則控制進(jìn)出網(wǎng)絡(luò)的訪問行為,它分為硬件防火墻和軟件防火墻兩大類,iptables是Linux系統(tǒng)中用于配置防火墻的工具,具有4個(gè)表和5個(gè)鏈,firewall命令用于配置和管理防火墻,有drop、block、public、external、dmz等不同的區(qū)域配置2025-01-01

