对于站长来说,数据的安全尤为重要,时常备份就是站长必不可少的一项工作了。

对于Linux下的脚本备份,可以参考下面的脚本。这里只给出一个思路,请各位在这个基础上进行扩展。

#! /bin/bash

#定义vps的名字,也就是备份文件的名字
vpsname="84vps"

#这里填写数据库的用户名和密码
dn="root"
dpw="password"

#这里是数据库的路径,如果不知道,查找一下
mysql_path="/var/lib/mysql"

#打印数据库的名称,可跟据情况更改print $9这个数字,有的是8
data_f=`ls -l $mysql_path | awk '{ print $9 ; }'`


#分目录导出mysql数据库
if [ ! -d /home/backup ] ; then
mkdir /home/backup
fi
cd /home/backup

for databases in ${data_f} ; do
        if [ -d $mysql_path/$databases ];then
        /usr/bin/mysqldump --databases $databases -u$dn -p$dpw | gzip > data_$databases.sql.gz
        fi
done
rm -rf data_mysql.sql.gz

#直接打包数据库
tar -zcPf data_$vpsname.tar.gz /var/lib/mysql/* --exclude='/var/lib/mysql/mysql*' --exclude='/var/lib/mysql/debian-5.1.flag*'

#打包web目录
tar -zcPf web_$vpsname.tar.gz /var/www/* --exclude='/var/www/default*'

#打包备份目录
cd /home
tar -zcf $vpsname.tar.gz backup

#ftp上传,这里填写ftp的ip和用户名密码
ftp -vn ftp.abc.com << autoftp
user ftpuser ftppassword
type binary
put $vpsname.tar.gz
close
quit
autoftp

将上面的脚本复制粘贴到记事本中,更改名称为:backup.sh,然后删掉中文注释的部分。

切记,上面的脚本,只修改目录路径即可,比如你的数据库路径为:/usr/local/mysq,则改成这个,网站目录大多数是:/home/www,也请改掉。

这样备份有一个好处就是,每个数据库是独立的一个文件。

每天定时备份,把backup.sh放在home下面

chmod 755 /home/backup.sh

crontab -e

25 06 * * * /home/backup.sh

每天早上6:25分进行备份。

我的每星期二早上备份

25 06 * * 2 /home/backup.sh

发表评论

您的电子邮箱地址不会被公开。