linux下Vps自動備份web和mysql數(shù)據(jù)庫的腳本
更新時間:2012年05月11日 22:59:33 作者:
這篇文章主要介紹了vps下web與mysql數(shù)據(jù)庫的備份方法,需要的朋友可以參考下
用Vps什么事都要自己費心,備份也是。像Linode里的備份服務(wù)是要收費的,一個月是5美元。與其花這5美元,不如自己豐衣足食。為服務(wù)安裝上了Dropbox,設(shè)定為每天4:00-6:00 開啟同步服務(wù)。在之前運行兩個腳本,自動備份web文件夾和mysql數(shù)據(jù)庫。
兩個腳本都是備份文件到/root/Dropbox/backup目錄里,并自動刪除10天前的備份。web備份是每周行一次,刪除30天前的備份。
一、備份WEB文件夾
1、備份/home/users/public_html目錄
2、修改crontab為每周第一天3:22時運行
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那句不是單引號,在tab鍵上方
7、要備份的用戶的public_html目錄,就把該用戶填入users
二、Mysql數(shù)據(jù)庫每日備份
1、為了安全,新建用戶backup,用強密碼(自動生成即可),全局權(quán)限為select,lock tables
2、每日3:00開始執(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、同上一個第6條
7、要備份的數(shù)據(jù)庫填入datas
三、感受
因為都在美國的原因,備份到dropbox的速度很快,一個10M的文件備份到dropbox,從開啟dropbox服務(wù),馬上刷新dropbox的網(wǎng)站就可以看到了。
如果流量很緊張的話,也可以設(shè)定dropbox為每周運行,或每5天運行等。應(yīng)該是需要設(shè)定要備份周期,或者結(jié)合起來使用。
兩個腳本都是備份文件到/root/Dropbox/backup目錄里,并自動刪除10天前的備份。web備份是每周行一次,刪除30天前的備份。
一、備份WEB文件夾
1、備份/home/users/public_html目錄
2、修改crontab為每周第一天3:22時運行
復(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那句不是單引號,在tab鍵上方
7、要備份的用戶的public_html目錄,就把該用戶填入users
二、Mysql數(shù)據(jù)庫每日備份
1、為了安全,新建用戶backup,用強密碼(自動生成即可),全局權(quán)限為select,lock tables
2、每日3:00開始執(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、同上一個第6條
7、要備份的數(shù)據(jù)庫填入datas
三、感受
因為都在美國的原因,備份到dropbox的速度很快,一個10M的文件備份到dropbox,從開啟dropbox服務(wù),馬上刷新dropbox的網(wǎng)站就可以看到了。
如果流量很緊張的話,也可以設(shè)定dropbox為每周運行,或每5天運行等。應(yīng)該是需要設(shè)定要備份周期,或者結(jié)合起來使用。
相關(guān)文章
2018值得選用的五個Linux服務(wù)器發(fā)行版
Linux發(fā)行版很少互相復(fù)制。從以下5個最流行的Linux服務(wù)器發(fā)行版來看,這一點很明顯,它們各有不同的優(yōu)缺點,這篇文章給大家?guī)砹?018值得選用的五個Linux服務(wù)器發(fā)行版,需要的朋友參考下吧2018-01-01
LAMP服務(wù)器性能優(yōu)化技巧之Mysql優(yōu)化
目前LAMP (Linux + Apache + MySQL + PHP) 近幾年來發(fā)展迅速,已經(jīng)成為Web 服務(wù)器的事實標(biāo)準(zhǔn)。本文我們將介紹基于LAMP組合的服務(wù)器的性能優(yōu)化技巧:Mysql優(yōu)化2012-02-02
linux中權(quán)限管理命令詳解(chmod/chown/chgrp/unmask)
這篇文章主要介紹了linux中權(quán)限管理命令詳解(chmod/chown/chgrp/unmask)的相關(guān)知識,通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
Linux 系統(tǒng)優(yōu)化的一些建議(內(nèi)核優(yōu)化)
這篇文章主要介紹了Linux 系統(tǒng)優(yōu)化的一些建議,幫助大家更好的使用Linux,感興趣的朋友可以了解下2020-08-08
Linux上查看用戶創(chuàng)建日期的幾種方法總結(jié)
在Linux系統(tǒng)中,如何找到用戶創(chuàng)建的時間呢?下面這篇文章就來給大家介紹了關(guān)于在Linux上如何查看用戶創(chuàng)建日期的幾種方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05

