如何在Linux服务器中备份

我有一个网站,是discuz+supesite的,挂在Linux系统的服务器下,我现在想完成整站备份(最好是远程的,把文件和数据库都备份到我本地的计算机硬盘里),请问都需... 我有一个网站,是discuz+supesite的,挂在Linux系统的服务器下,我现在想完成整站备份(最好是远程的,把文件和数据库都备份到我本地的计算机硬盘里),请问都需要什么,应该如何操作,越详细越好。(如果在这里说不清楚请加我的QQ1092368027,谢谢) 展开
 我来答
巧米乐
2015-11-08 · 知道合伙人房产装修行家
巧米乐
知道合伙人房产装修行家
采纳数:61569 获赞数:748088
林深时见鹿,海蓝时见鲸……

向TA提问 私信TA
展开全部
linux系统下使用脚本定时备份数据库,代码如下:
#!/bin/bash
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第
#18行,则默认以tag的方式备份
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can’t Backup!" >> $LogFile
else
case $BackupMethod in
mysqldump*)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName > $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同时上传ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令
//m h dom mon dow command
//具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)
郎琳网络
2010-01-15 · TA获得超过1437个赞
知道小有建树答主
回答量:269
采纳率:33%
帮助的人:313万
展开全部
LINUX通常使用tar命令进行数据备份,但外面很多资料所介绍的比较专业,也就比较复杂些,初学者很难看明白。现介绍一种“傻瓜式备份方案”,供初建LINUX服务器者参考。

1、首先我们要知道需要备份哪些数据。

一般包括数据库和网站数据,在本例中,数据库位于/var/lib/mysql/目录;网站位于/www/users/目录。

2、确定需要将数据备份在哪里,在这个分区中创建一个目录

应该挑选一个空间较大的分区,例: /var

键入命令:

cd /var
mkdir backup

3、创建备份目录后,进入备份目录

cd /var/backup

4、数据库一般应该完全备份,建议每次备份以当前日期命名

tar -czvf mysql20051015.tar.gz /var/lib/mysql/*

这个命令的意思是,在当前目录下生成一个备份,备份的内容是/var/lib/mysql/目录下的所有内容

5、如果网站数据不多,可以每次将网站数据完全备份

tar -czvf users20051015.tar.gz /www/users/*

6、如果网站数据较多(尤其是运营E站通,商城等每天更新文件量较大的系统),建议每月一次完全备份,每天(或每周)一次更新备份。这个备份方式即所谓的“差分备份”,差分备份要求每一次更新的备份都要针对上一次完全备份的时间。

例如:在10月15日进行一次完全备份:

tar -czvf users20051015.tar.gz /www/users/*

在下一次完全备份前针对10月15日的完全备份进行更新备份(如每周一次):

tar -czvf users20051015.tar.gz /www/users/* --newer 10/15/2005/

在进行“差分备份”后,如果需要恢复数据,应该是先恢复完全备份,再将最近的一次更新备份覆盖完全备份
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
be_back
2010-01-15 · TA获得超过533个赞
知道小有建树答主
回答量:1223
采纳率:0%
帮助的人:0
展开全部
直接备份数据库就行了。
在后台都有备份选项的,备份到本地。

要连网站程序一起备份的话,可以用FTP软件将整个网站下载到本地。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
59ichicom
2010-01-15 · TA获得超过259个赞
知道小有建树答主
回答量:480
采纳率:0%
帮助的人:0
展开全部
备份分为两部分,网页、数据库。
1.用ftp软件备份网页文件及设置
2.用系统提供的数据库管理软件,备份数据库。

还有一个办法,咨询你的代理商,他们有备份方案的。比上面的方法省事。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式