目前站长们大多使用的程序无外乎asp\asp.net\php\jsp 数据库的话,大多是access\sqlserver\mysql
我们分2种情况来说明下。
对于win服务器下的自动数据备份,文件,自然是比较好备份的,那么如果数据库也可以自动备份,那就基本实现完美自动备份。
如果你有独立服务器,那么这个备份工作就更加简单,下面我们来看看:
独立服务器数据异地自动备份
文件我们使用绿环ftp备份软件,在异地的服务器上挂上绿环ftp,设置好备份任务,然后设置好数据ftp,利用绿环的自动备份功能,就可以轻松对的文件进行自动异地备份。
数据库,我们先在服务器上做备份,然后利用绿环把备份文件异地备份到备份服务器。
mysql数据库:我们可以使用以下批处理脚本:
net stop mysql
xcopy c:\mysql\data\bbs\*.* d:\db_bak\bbs\%date:~0,10%\ y
net start mysql
比如,设置这个为批处理文件bak.bat,然后设置windows的计划任务,每天定时运行该批处理,就可以自动备份mysql了,注意,里边的路径,请自己修改为自己的路径,c:\mysql\data\bbs\*.*为mysql数据文件路径,d:\db_bak\bbs\%date:~0,10%后边这个为mysql数据库备份路径。
有的朋友的计划任务不能正常运行,请查看服务里边的计划任务的服务task scheduler是否开启,另注意服务器装有麦咖啡的朋友,请注意你的麦咖啡规则设置,看是否有限制备份的规则存在。
对于sqlserver,我们知道,sqlsever本身有按计划备份的功能,所以,你可以用同样的原理,进行备份,然后进行异地备份操作。本文不在这里详述了。
同样,对于linux下的mysql备份,就更简单,利用crontab系统每天定时备份mysql数据库,至于详细设置,本文引用下上的老鸟的做法:
1、创建保存备份文件的路径mysqldata
#mkdir mysqldata
2、创建usrsbinbakmysql文件
#vi usrsbinbakmysql
输入
rq=` date +%y%m%d `
tar zcvf mysqldatamysql$rq.tar.gz varlibmysql
或者写成
rq=` date +%y%m%d `
mysqldump --all-databases -u root -p980405 > mysqldatamysql$rq.tar.gz
varlibmysql是你数据库文件的目录,部分用户是usrlocalmysqldata,每个人可能不同
mysqldata表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。
3、修改文件属性,使其可执行
# chmod +x usrsbinbakmysql
4、修改etccrontab
#vi etccrontab
在下面添加
01 3 * * * root usrsbinbakmysql
表示每天3点钟执行备份
5、重新启动crond
# etcrc.dinit.dcrond restart
完成。
这样每天你在mysqldata可以看到这样的文件
mysql20100101.tar.gz
在tar命令执行前,停止数据库服务进程或锁定数据库,你可以利用时间差设置个计划任务,暂停掉数据库,或者在执行备份脚本时候设置,注意,当使用上面的第2种热备份模式,是不需要停止mysql服务器的,不然你就没法备份了。
以上是对于对立服务器用户,那么对于虚拟主机用户,我想你可以在本地电脑设置绿环ftp,备份文件就没问题了,对于数据库,你可以设置一个自动脚本,每天0点触发这个脚本,关于mysql的备份脚本,上很多,至于如何触发,有很多方法吧,我想用过discuz的朋友,都知道discuz中计划任务的原理吧,另外dede系统也有自动定时生成html的脚本,都是这样的原理。
当然,对于asp程序的用户,如果没有数据库,那就更简单了。
好了,进行了以上的相关设置,那么就可以实现数据全自动异地备份,就再也不怕服务器被封了。
如何自动备份数据?本文是根据作者自己多年为大家分享的数据自动备份方法。