linux下Vps自動(dòng)備份web和mysql數(shù)據(jù)庫(kù)的腳本
更新時(shí)間:2012年05月11日 22:59:33 作者:
這篇文章主要介紹了vps下web與mysql數(shù)據(jù)庫(kù)的備份方法,需要的朋友可以參考下
用Vps什么事都要自己費(fèi)心,備份也是。像Linode里的備份服務(wù)是要收費(fèi)的,一個(gè)月是5美元。與其花這5美元,不如自己豐衣足食。為服務(wù)安裝上了Dropbox,設(shè)定為每天4:00-6:00 開(kāi)啟同步服務(wù)。在之前運(yùn)行兩個(gè)腳本,自動(dòng)備份web文件夾和mysql數(shù)據(jù)庫(kù)。
兩個(gè)腳本都是備份文件到/root/Dropbox/backup目錄里,并自動(dòng)刪除10天前的備份。web備份是每周行一次,刪除30天前的備份。
一、備份WEB文件夾
1、備份/home/users/public_html目錄
2、修改crontab為每周第一天3:22時(shí)運(yùn)行
22 3 * * 0 root run-parts /etc/cron.weekly
3、復(fù)制腳本到/etc/cron.weekly目錄
4、修改權(quán)限
chmod 0755 /etc/cron.weekly/webbackup.sh
5、腳本如下
#!/bin/sh
filename=`date +%Y%m%d`
backup_dir="/root/Dropbox/backup/web"
#delete all files 10 days ago
find $backup_dir -mtime +30 -name "*" -exec rm -rf {} \;
#each user you want backup
users="baidu sina"
for user in ${users}; do
tar zcvf $backup_dir/$user$filename.tar.gz /home/$user/public_html
done
6、注意filename那句不是單引號(hào),在tab鍵上方
7、要備份的用戶的public_html目錄,就把該用戶填入users
二、Mysql數(shù)據(jù)庫(kù)每日備份
1、為了安全,新建用戶backup,用強(qiáng)密碼(自動(dòng)生成即可),全局權(quán)限為select,lock tables
2、每日3:00開(kāi)始執(zhí)行,修改crontab
3、復(fù)制腳本到/etc/cron.daily
4、修改權(quán)限
5、腳本內(nèi)容
#!/bin/sh
dbuser="backup"
dbpassword="youpassword"
datas="db1 db2 db3"
filename=`date +%Y%m%d`
bin_dir="/usr/local/mysql/bin"
backup_dir="/root/Dropbox/backup/mysql"
#delete all files 10 days ago
find $backup_dir -mtime +10 -name "*" -exec rm -rf {} \;
#Do each database backup
for data in ${datas}; do
$bin_dir/mysqldump --opt -u$dbuser -p$dbpassword $data | gzip > $backup_dir/$data$filename.sql.gz
done
6、同上一個(gè)第6條
7、要備份的數(shù)據(jù)庫(kù)填入datas
三、感受
因?yàn)槎荚诿绹?guó)的原因,備份到dropbox的速度很快,一個(gè)10M的文件備份到dropbox,從開(kāi)啟dropbox服務(wù),馬上刷新dropbox的網(wǎng)站就可以看到了。
如果流量很緊張的話,也可以設(shè)定dropbox為每周運(yùn)行,或每5天運(yùn)行等。應(yīng)該是需要設(shè)定要備份周期,或者結(jié)合起來(lái)使用。
兩個(gè)腳本都是備份文件到/root/Dropbox/backup目錄里,并自動(dòng)刪除10天前的備份。web備份是每周行一次,刪除30天前的備份。
一、備份WEB文件夾
1、備份/home/users/public_html目錄
2、修改crontab為每周第一天3:22時(shí)運(yùn)行
復(fù)制代碼 代碼如下:
22 3 * * 0 root run-parts /etc/cron.weekly
3、復(fù)制腳本到/etc/cron.weekly目錄
4、修改權(quán)限
復(fù)制代碼 代碼如下:
chmod 0755 /etc/cron.weekly/webbackup.sh
5、腳本如下
復(fù)制代碼 代碼如下:
#!/bin/sh
filename=`date +%Y%m%d`
backup_dir="/root/Dropbox/backup/web"
#delete all files 10 days ago
find $backup_dir -mtime +30 -name "*" -exec rm -rf {} \;
#each user you want backup
users="baidu sina"
for user in ${users}; do
tar zcvf $backup_dir/$user$filename.tar.gz /home/$user/public_html
done
6、注意filename那句不是單引號(hào),在tab鍵上方
7、要備份的用戶的public_html目錄,就把該用戶填入users
二、Mysql數(shù)據(jù)庫(kù)每日備份
1、為了安全,新建用戶backup,用強(qiáng)密碼(自動(dòng)生成即可),全局權(quán)限為select,lock tables
2、每日3:00開(kāi)始執(zhí)行,修改crontab
3、復(fù)制腳本到/etc/cron.daily
4、修改權(quán)限
5、腳本內(nèi)容
復(fù)制代碼 代碼如下:
#!/bin/sh
dbuser="backup"
dbpassword="youpassword"
datas="db1 db2 db3"
filename=`date +%Y%m%d`
bin_dir="/usr/local/mysql/bin"
backup_dir="/root/Dropbox/backup/mysql"
#delete all files 10 days ago
find $backup_dir -mtime +10 -name "*" -exec rm -rf {} \;
#Do each database backup
for data in ${datas}; do
$bin_dir/mysqldump --opt -u$dbuser -p$dbpassword $data | gzip > $backup_dir/$data$filename.sql.gz
done
6、同上一個(gè)第6條
7、要備份的數(shù)據(jù)庫(kù)填入datas
三、感受
因?yàn)槎荚诿绹?guó)的原因,備份到dropbox的速度很快,一個(gè)10M的文件備份到dropbox,從開(kāi)啟dropbox服務(wù),馬上刷新dropbox的網(wǎng)站就可以看到了。
如果流量很緊張的話,也可以設(shè)定dropbox為每周運(yùn)行,或每5天運(yùn)行等。應(yīng)該是需要設(shè)定要備份周期,或者結(jié)合起來(lái)使用。
您可能感興趣的文章:
- Linux oracle數(shù)據(jù)庫(kù)自動(dòng)備份自動(dòng)壓縮腳本代碼
- Linux中Oracle數(shù)據(jù)庫(kù)備份
- Linux自動(dòng)備份MySQL數(shù)據(jù)庫(kù)腳本代碼
- linux下mysql自動(dòng)備份數(shù)據(jù)庫(kù)與自動(dòng)刪除臨時(shí)文件
- Linux VPS備份教程 數(shù)據(jù)庫(kù)/網(wǎng)站文件自動(dòng)定時(shí)備份
- linux下備份MYSQL數(shù)據(jù)庫(kù)的方法
- Linux ORCLE數(shù)據(jù)庫(kù)增量備份腳本
- linux每天定時(shí)備份數(shù)據(jù)庫(kù)并刪除十天前數(shù)據(jù)詳細(xì)步驟
相關(guān)文章
你需要知道的16個(gè)Linux服務(wù)器監(jiān)控命令
如果你想知道你的服務(wù)器正在做干什么,你就需要了解一些基本的命令,一旦你精通了這些命令,那你就是一個(gè) 專業(yè)的 Linux 系統(tǒng)管理員2012-03-03安裝Apache提示丟失VCRUNTIME140.DLL怎么辦
本文通過(guò)自己的實(shí)際情況,給大家分享了在安裝Apache時(shí)提示丟失VCRUNTIME140.DLL的解決辦法,非常的實(shí)用,有需要的小伙伴可以參考下。2016-03-03深入淺析Linux輕量級(jí)自動(dòng)運(yùn)維工具-Ansible
這篇文章主要介紹了Linux輕量級(jí)自動(dòng)運(yùn)維工具-Ansible的相關(guān)知識(shí),需要的朋友可以參考下2017-09-09Apeache啟動(dòng)不成功時(shí),用命令行檢測(cè)的方法
下面小編就為大家?guī)?lái)一篇Apeache啟動(dòng)不成功時(shí),用命令行檢測(cè)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09總結(jié)Centos7系統(tǒng)加固知識(shí)點(diǎn)
本篇文章給大家詳細(xì)介紹了LINUX中Centos7系統(tǒng)加固的相關(guān)知識(shí)點(diǎn),如果大家對(duì)此有需要跟著學(xué)習(xí)下吧。2018-02-02