linux服务器和宝塔实现异地实时备份
服务器没有异地备份数据服务功能,我们不对数据价值负责,不管是大厂也好,小厂也好,请各位定时备份好自己的网站数据,此外在对网站做任何修改操作前请备份您的数据。备份才是王道,建议大家定期异地备份数据!
前言
云服务器数据安全对于任何一个使用云计算的服务商和企业集团来说都是至关重要的,云数据的安全决定了服务商和企业的生死。一旦云数据被黑客入侵删除数据、丢失或泄露,轻则企业倒闭,重则罚金无数!本期教程就是教大家如何在我们慈云数据(慈云数据)的云服务器上给我们的网站数据和数据库数据制作一个定期定时异地备份数据的功能操作,这样我们的云服务器数据就会自动异地备份到其他地方。
做好定时异地备份数据的好处是什么?
关于做好定时异地备份数据的好处,我们就要首先了解云服务器是什么?云服务器,其实就是一台超高配置的类似于家庭电脑的硬件设备所虚拟化出来的vps,通过给vps添加绑定一个公网IP就得到了我们所说的云服务器。既然知道了云服务器其实就是一个类似于我们家庭电脑的硬件设备,那么我们就要知道。我们的家庭电脑设备仅仅只有一个用户使用都有可能存在系统崩溃、硬盘损坏、主板烧毁、内存条故障等多种意外故障现象,那么云服务器其实也是一样的!一样会出现类似情况,云服务器一旦出现故障对我们的业务打击和损失都是不可估量的。尤其是存储运行在云服务器上的文件和数据,一旦丢失那将不可挽回且无法恢复。慈云数据让各位用户做好数据备份的初衷就是为了防止因这类不可抗力事件而导致给我们的用户带来不可估算的损失。我们做好了异地数据备份,哪怕万一不幸遇到了此类不可抗力事件,我们也能够及时的使用我们的备份数据让我们的业务正常运行。不至于严重到导致公司倒闭、业务长期中断或无法恢复运营。
这里顺带给慈云数据的各位会员们科普一个冷知识,在你们所注册的所有云计算服务商的服务条款中,所有用户都明确表示对于宿主机硬盘损坏、发生不可抗力事件导致的数据丢失情况将不予赔偿或仅赔偿云服务器租赁价格的一个月费用。这里我们大用白话讲一下这句话是什么意思,意思非常的简单明了,说的就是你的云服务器所在的宿主机一旦出现硬件损坏或其他不可抗力因素导致你的云服务器数据丢失,该服务商将不会对你负任何责任不予赔偿,或,仅赔付一个月的服务器租赁费用。哪怕您所做业务的盘有1亿的利润,但是你的云服务器月租只有60元。那么您的服务器数据一旦丢失,服务商将不会对您做出任何赔付或仅赔付您60元金额作为补偿。所以您现在还觉得定时异地备份数据没用吗?
什么是不可抗力因素?
1、硬件损坏。如:硬盘损坏、其他硬件损坏导致的数据丢失;
2、服务器瘫痪。如:系统崩溃、被黑客入侵数据被删除;
3、自然灾害。如:地震、天灾、人为火灾等情况;
4、以及其他无法人为预测的灾害;
很多人可能以为这种不可抗力因素发生概率少之又少所以不必担心,是的。发生概率确实少之又少,但依然存在此类事件。属硬盘损坏、服务器瘫痪最多,其次是自然灾害。各位老板们,请看下方新闻截图。
图片为新闻《中国电信股份有限公司长沙分公司荷花园大院第二长途电信枢纽楼发生火灾》
一、本地备份方法
在宝塔服务器管理面板左侧:计划任务 中可自动每天备份,一般根据你网站大小和硬盘大小设置自动备份频率和次数,网站内容更新少备份频率就小。
我们的做法:
数据库:占用小,一般不到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即可
1. 待备份服务器安装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
2. 在主服务器上面安装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
4. 使用rsynct复制将备份文件夹复制到目标服务器
rsync -avp -e ssh /backup/ root@172.168.1.1:/backup # 使用SSH免密登录,将本地的backup文件夹复制到目标服务器的backup -a 归档拷贝 -v 显示复制过程 -p增量复制已存在的文件不再复制
5. 将自动备份命令写入corntab服务内
crontab -e # 编辑 00 01 * * * rsync -avz -e ssh /backup root@172.16.19.1:/backup # 每天1点钟开始异地备份
------------------------------------------------------------------------