WDCP管理系统中实现远程服务器自动备份

  • A+
所属分类:Linux相关 网站建设

有两个重要的网站,担心出现物理故障,所以需要双机备份,以免数据丢失,把过程记录一下。

linux双机备份最简单的方案当然是使用scp或者rsync命令结合SSH来进行。SCP命令是完全的拷贝整个目录结构和数据,而rsync命令只是备份两个服务器之间有差异的目录结构和数据。由于网站相当的大,差不多有200多G数据,所以这里选择rsync命令。

比如A机为本地服务器,ip为172.25.217.1,B机为远程服务器,ip为172.25.217.2。现在的目的是把B机的特定目录内容备份到A机,这里假定两台服务器需要同步的内容都是/www/web/baishujun/public_html/,SSH端口为31。

那么SCP执行备份的命令为

rsync命令为

这个命令需要手动输入密码,显然对于自动执行备份来说,这不合适。我们采用证书登陆ssh的方法来避免输入密码。

在A机,执行命令cd /root/.ssh/,进入ssh目录,在这里我们需要生成ssh证书,通过 ssh-keygen -d命令来生成,之后一直回车就好了。

这样就在 /root/.ssh/目录获得了两个文件id_dsa和id_dsa.pub两个文件,id_dsa.pub是公钥,id_dsa是密钥。

为了免密码登陆ssh,我们需要把id_dsa.pub放到B机的ssh目录中去。

这个通过ssh命令很简单

这里有一个要注意,scp命令的P参数一定要大写,ssh命令的p参数一定要小写!

并且这里公钥在B机一定要改名为authorized_keys2,不然无法自动登陆ssh。

做好了这个准备之后,我们可以把rsync 这个命令放到sh脚本里面。

执行命令vi backup2.sh,输入命令

wq命令保存就好了。wdcp管理系统中有一个计划任务,相当好用,把这个脚本加入“任务计划”中,需要绝对路径,或者把这个脚本cp到wdcp的shell目录/www/wdlinux/wdcp/shell/,这样输入文件名就可以了。

如果没有使用wdcp系统,那么自己安装个crond来周期性执行脚本就好了。

转载自百蔬君

  • 我的微信
  • 扫一扫加我好友
  • weinxin
  • 微信公众号
  • 挨踢不可缺少
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: