备份数据分为备份网站源码和数据库,在此分两部操作
一、本地备份方法
在宝塔服务器管理面板左侧:计划任务 中可自动每天备份,一般根据你网站大小和硬盘大小设置自动备份频率和次数,网站内容更新少备份频率就小。
我们的做法:
数据库:占用小,一般不到50M,每天备份,保留30份,如你的网站不是天天更新,就不用设置每天备份数据库。
网站程序:根据网站的大小和更新频率,可以每周或每月备份一次,保留2~5份。
如你的网站大,服务器可用硬盘小,那备份保留的份数就要少,反之可以多些。
说明:计划任务的执行周期,尽量将执行时间安排在凌晨,那时基本上没有客户访问你的网站,因为执行 计划任务时会占用到CPU。
备份的数据是保存在服务器上,在: 面板设置>> 默认备份目录>>/www/backup可以看到备份后存放地方,通过面板左侧的:文件,可以进入,database是数据库备份的存放目录,site是网站网站程序存放目录,为了万无一失,定期下载一份到自已的本地电脑(服务器采用企业级的硬盘,一般极少会出问题),根据自已网站更新的频率每月或每几个月下载一次到本地电脑备份。
二、异地FTP储存空间备份方法(设置简单,但一般收费):
异地FTP储存空间备份的好处就是如你的服务器系统或硬盘坏了,无法下载或读取服务器备份时,可用异地备份恢复网站,因为异地FTP储存空间和你的服务器不在同一硬盘上。
如你的网站数据非常重要,放在服务器上觉的不安全,人工下载到自已电脑也太麻烦,可以通过服务器面板中的“FTP储存空间”的功能,将网站数据自动备份上传到异地的FTP空间上。
操作步骤:
1、购买FTP备份主机,购买好后我们会提供给你FTP地址、FTP用户名和密码。你用FTP软件可以链接备份主机,无须复杂设置,直接使用
2、在宝塔面板左侧>>软件商店>>安装插件:FTP存储空间,安装好后进入简单设置。
设置方法:
Host、用户名、密码我们会提供给你,你只要填入即可。
3、在宝塔面板左侧“计划任务”中设置网站和数据库备份时间、频率,份数,备份到选: FTP存储空间,就是会备份到你设置的异地FTP存储空间内。
设置好后点执行测试,根据你数据的大小,稍等十几分钟后可以你的异地FTP空间里看到备份的数据文件。
备份时间、频率,份数设置小技巧:
·如你的网站长期不更新,那就设置最长1个月备份一次,要是网站不超过1G大小,那就只要保留2~3份就可以了。备份时间安排在周末或你的客户访问你网站少的时候备份,因为备份需要读写硬盘,占用CPU,影响网站访问速度。
·如是备份到本地服务器磁盘,一般服务器硬盘较大,你可以多保留几份和备份频率高些。
·备份好后,在FTP空间和服务器磁盘里的,我们可以把其中一个备份重命名其他名称的,这样就不会被新的备份循环覆盖掉,以免网站被黑,等过了3、5个月才发现被黑时,你的备份文件都是网站被黑过的备份,没法用,改了名称的因没有被新备份覆盖掉,这份就不会被黑过,相当于是原始备份。
上面说的是宝塔的备份,接下来我们说一下linux服务器使用SSH进行备份。
现在记录一下如何实现异地服务器备份。我这里是使用SSH进行备份,所以需要在待备份服务上面安装openssh-server,主服务器上面需要安装openssh-clients。具体操作步骤如下,我这里Liunx使用的是centos7,如果使用的是其它系统的可以将yum改为apt-get即可
- 待备份服务器安装openssh-server,安装命令如下,如果系统没有安装openssh,下面的命令会进行安装操作
sudo yum install openssh-server # 安装openssh-server
在安装过程中,我遇到了一个问题,就是安装的时候提示 No package openssh-server available 意思就是找不到包,这个问题产生的原因,一般是因为yum的源有问题,可以通过更新yum的方法来解决,代码如下:
cd /etc/yum.repos.d/ # 切换目录到yum的源目录
mv CentOS-Base.repo CentOS-Base.repo.back # 备份yum源文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo # 从阿里云的源下载yum源,如果wget命令无效,你可能需要使用下面的命令安装一下wget
yum install -y wget # 安装wget,如果系统已经有了,就不需要执行这个命令了
yum clean all # 清除yum源的缓存
yum makecache # 重新建立缓存
如果不确认是否已安装openssh-server,可以使用下面的命令查询
rpm -qa|grep openssh #此命令可以显示是否安装了openssh相关的服务
如图所示,服务器已安装了openssh-server服务了,安装成功后可以使用下面的命令启动服务
sudo systemctl start sshd.service # 启动服务,不同版本的centos可能命令会所有区别,如果systemctl命令不行,可以使用 sudo service sshd start
sudo systemctl enable sshd.service # 将服务设置为自动启动,同上,如果systemctl命令不行,可以使用sudo service sshd enable
- 在主服务器上面安装openssh-client,安装操作与openssh-server的操作差不多,下面是安装命令
sudo yum install openssh-client
3.安装完后使用SSH就可以进行登录了,但是这个时候还只能使用用户名密码登录,文件备份显然是不方便的,所以要进行免密登录,步骤如下:
1). 在待备份的服务器上面生成密钥,命令如下:
ssh-keygen -t rsa # 使用rsa加密方法生成密钥,生成过程中需要确认操作,直接回车确认即可。
2). 密钥生成后,一般会的/root/.ssh/目录下面生成 id_rsa (私钥),id_rsa.pub (公钥)等文件,使用下面的命令将公钥文件复制到客户机上,输入命令后需要输入服务器对应用户名的密码才可以生效,ssh-copy-id命令是专门用户将公钥文件复制到远程主机上的
ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.19.22 # 复制公钥文件到172.16.19.22服务器上面,并且以root用户名登录,其中-i 的参数是指定公钥文件
使用上面的命令,公钥文件就会被写入到目标服务器上面的/ssh/目录下面的,其中~表示,当前用户目录,如果是非root用户则目录为/home/username/,否则就是/root
3). 密钥复制成功就可以使用免密码登录了,可以使用下面的命令登录
ssh root@192.168.1.1
- 使用rsynct复制将备份文件夹复制到目标服务器 rsync -avp -e ssh /backup/ root@172.168.1.1:/backup # 使用SSH免密登录,将本地的backup文件夹复制到目标服务器的backup -a 归档拷贝 -v 显示复制过程 -p增量复制已存在的文件不再复制
- 将自动备份命令写入corntab服务内
crontab -e # 编辑
00 01 * * * rsync -avz -e ssh /backup root@172.16.19.1:/backup # 每天1点钟开始异地备份
————————————————
本文来自网络,不代表王道测评立场,如有争议请发邮件:enofun@foxmail.com
AD:【本站QQ交流群】114135944
评论