VPS(网站数据+数据库)自动备份脚本(本地+ftp异地备份)

http://www.linode.im/559.html#more-559

我搞了linode的收费备份,所以一直也没有搞自动备份脚本,今天分享下我的vps自动脚本。关于备份策略,不同的人有不同的需求,有人建议网站数据一周备份一次,数据库每天备份一次。但是最近接触几个朋友,都比较关心数据的重要性,都要求我给他们每天备份网站文件数据和数据库,以下脚本的VPS备份策略是每天备份网站数据+数据库,同时每天ftp异地备份到其他服务器(双保险)。

以下是backupday.sh的内容,仅仅将-ppasswd换成你自己数据库root的passwd即可

#!/bin/bash
basedir=/backup/daily
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
export LANG=C

wwwd=$basedir/www
sqld=$basedir/sql

for dirs in $wwwd $sqld
do
[ ! -d “$dirs” ] && mkdir -p $dirs
done

/usr/local/mysql/bin/mysqldump -uroot -ppasswd –all-databases > $sqld/mysql.$(date +%Y-%m-%d).tar.bz2
cd /home/
   tar -jpc -f $wwwd/www.$(date +%Y-%m-%d).tar.bz2   www
rm -rf $sqld/mysql.$(date +%Y-%m-%d -d “2 days ago”).tar.bz2
rm -rf $wwwq/www.$(date +%Y-%m-%d -d “2 days ago”).tar.bz2

 

以下是ftp异地备份脚本ftpbackup.sh

#!/bin/bash

host=”106.187.xx.xxx”   (换成你的远程主机ip)
id=”ftp”    (换成你的远程主机登录ftp用户名)
pw=’ftppasswd’ (换成你的远程主机登录ftp密码)
basedir=”/backup/daily/”
remotedir=”/backup/ftp/”

backupfile=daily.$(date +%Y-%m-%d).tar.bz2
cd $basedir/..
 tar -jpc -f $backupfile $(basename $basedir)

ftp -n “$host” > ${basedir}/../ftp.log 2>&1 <<EOF
user $id $pw
binary
cd $remotedir
put $backupfile
bye
EOF

最后vi /etc/crontab 让/backup/backupday.sh  /backup/ftpbackup.sh定时执行即可。


你可能感兴趣的:(VPS(网站数据+数据库)自动备份脚本(本地+ftp异地备份))