服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?

很多单位都有文件服务器备份的需求,并且常常是把一个服务器的文件自动备份到另外一台文件服务器 。如何实现呢?

一、Windows文件服务器自动备份的方法

Windows文件服务器自动备份的最简单方法是安装专门的服务器文件自动备份软件,目前国内有一些专门用于备份服务器文件的软件。例如有一款“大势至服务器文件自动备份系统”(下载地址:http://www.grabsun.com/filebackup.html),只需要在服务器上安装之后,就可以对服务器的文件进行增量备份和全量备份,也就是可以把服务器的文件夹自动、定时备份到服务器的其他磁盘分区、外接移动硬盘、其他文件服务器或NAS存储空间等,从而有效保护服务器文件安全,防止服务器文件丢失。如下图所示:

图:大势至服务器文件自动备份软件

同时,通过大势至服务器文件自动备份系统还可以实现只让将一个服务器上的文件或文件夹以及对应的账号,全部迁移到另外一个服务器,从而避免了重新设置账户和文件访问权限的麻烦。如下图:

图:服务器文件迁移

当然,你也可以通过脚本命令来实现。具体如下:

项目有些文件上传到windows系统临时文件,需要定期进行备份。例如我要将D/information/images文件夹及其下所有文件复制到F/Archives文件夹下,方法如下:

1、新建txt文件,输入以下内容

参数解释:

  • /e:拷贝所有子目录,包括空子目录;
  • /I: 如果目标文件或目录不存在且拷贝的文件数多于一,则假设目标为目录;
  • /d:只拷贝文件日期与在目标文件后的文件(即修改过的源文件)
  • /h:同时拷贝隐藏文件和系统文件
  • /r:拷贝并覆盖只读文件
  • /y: 复制文件审核设置(不显示已有文件覆盖确认)

2、保存文本文件后,通过重命名将文件改为".bat"文件

3、win10系统中

开始处右键--> 计算机管理 --> 系统工具 --> 任务计划程序 --> 任务计划程序库 --> 创建任务

win7系统中

附件 --> 系统工具 --> 任务计划程序 -- 创建任务

此处创建的是每天早上9点整执行一次,创建完成后,参考图3选中 该条任务,点击可选项中的“运行”按钮,查看运行效果。

如果需要每隔N分钟触发一次,需要如下设置触发器(以每10分钟一次为例)

二、linux文件服务器自动备份的方法

1、提前说明:

以在两台服务器之间建立定时同步为例,将服务器A /home/jack 路径下的内容备份到服务器B /home/test 路径下

设置定时同步时间为5分钟

2、配置过程:

服务端(即服务器A):

安装rsync:yum -y install rsync

ln -s /etc/rsyncd.conf

编写rsync的配置文件:vim rsyncd.conf

解析如下:

 uid = root      #root用户访问(我这里用ROOT用户,也可以用其他新建的用户)
  gid = root      #root组用户访问
  port=871      #通过端口873
  use chroot = yes   #可以使用chroot
  read only = no    #可读写
  max connections = 4 #最大连接数
  list = no      #不列出文件清单
  pid file = /var/run/rsyncd.pid    #此步可没有此文件
  timeout = 900
  lock file = /var/run/rsyncd.lock   #此步可没有此文件
  log file = /var/log/rsyncd.log     #此步可没有此文件

  [backup]          #发布项(注意这个命名)
   comment = this is module for backup  #模块介绍,可删去
   path = /home/jack/     #发布的路径
   ignore errors
   auth users = root      #认证用户为root
     secrets file = /etc/rsyncd.pass  #密码文件

4.编写用户密码文件:echo “root:111” > /etc/rsyncd.pass

(root:上一步设置的登录用户名;111:文件的密码自己随意设,但要记住,接下来需要用到;此步创建了rsyncd.pass文件)

修改密码文件的权限(此步很重要,且只能是600):chmod 600 /etc/rsyncd.pass

启动rsyncd服务

service rsyncd start

查看进程占用端口:netstat -tunlp

(启动rsyncd服务后会显示873端口被rsync占用)

客户端(即服务器B):

1.yum -y install rsync

2.echo “root:123” > /etc/rsyncd/rsyncd.pass

(root:用户名可不写,如果写,必须要和服务端设置的第3步中设置的用户名一致; 111:密码,必写,要和服务端设置的第4步中的密码一致)

3.chmod 600 /etc/rsyncd.pass

4.创建存放备份文件的路径:mkdir /home/backups

(路径自己随意设)

5.每隔5分钟将服务器A中的backup模块目录下的文件(我们设置的是/home/jack)同步到本地下(我们设置的是/home/backups)

1> ssh-keygen -t dsa -b 1024

2> 将id_dsa.pub里面的内容添加到B机的authorized_keys文件中cat /root/.ssh/id_dsa.pub >> authorized_keys1

3> 创建一个需要定时执行的脚本文件,如:rsyncd.sh脚本:vi /etc/rsyncd.sh(路径自己设置的),在此脚本中添加如下内容:(命令的每条含义文档最后有解释)

rsync -auv --password-file=/etc/rsyncd.pass
root@192.168.22.99::backup /home/test/

4> 设置脚本执行的时间:crontab –e,添加如下内容

*/5 * * * * sh /etc/rsyncd.sh #第5分钟执行一次同步;

到此,同步配置基本完成,正常情况下每5分钟就会同步一次

也可直接输入同步命令检查是否能够同步,命令格式为:

rsync命令格式:rsync [option] 源路径 目标路径

例如: 将服务器A backup模块下要备份的文件同步到本地/home/test目录下:

rsync -auv --password-file=/etc/rsyncd.pass
root@192.168.22.99::backup /home/test/

正常情况下,同步成功会显示以上信息。

(0)

相关推荐

  • 用winrar和ftp命令实现自动备份文件并自动上传到指定的ftp服务器

    1.利用winrar建立压缩包 首先将要备份的文件路径收集到一个文本文件里 如我的rat.txt里内容如下: "C:\Documents and Settings\EvanZhang\Desktop\untitled.JPG""C:\Documents and Settings\EvanZhang\Desktop\文具用品领用确认表.xls""C:\Documents and Settings\EvanZhang\Desktop\test.exe"

  • Windows下通过FTP自动备份数据到服务器并删除指定天数前的备份

    说明: 1.要备份的文件在D盘根目录下面,以时间命名,(一般我们通过护卫神的好备份软件实现备份)例如 D:\data_db_201112130001.BAK D:\data_db_201112140002.BAK D:\data_db_201112150003.BAK 每天会自动生成一个新的文件,例如2011年12月16号,会自动生成data_db_201112160004.BAK 2.要把D:\下面当天生成的那个数据定时备份到FTP服务器上,例如,今天是2011年12月16号,要把data_d

  • windows 服务器自动备份任务(批处理)

    集成命令列表1 功能:自动备份数据库并按日期创建备份文件夹. 复制代码 代码如下: @echo off echo 执行备份任务 echo 正在停止数据库- echo 正在停止网站数据库- net stop MySQL echo 执行备份数据库 xcopy "D:\MySQL\data\*.*" D:\mysqlbak\webbak%date:~0,10%\ /e /y /c net start MySQL echo 正在启动网站数据库- echo 退出备份任务 echo . exit

  • 服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?

    很多单位都有文件服务器备份的需求,并且常常是把一个服务器的文件自动备份到另外一台文件服务器 .如何实现呢? 一.Windows文件服务器自动备份的方法 Windows文件服务器自动备份的最简单方法是安装专门的服务器文件自动备份软件,目前国内有一些专门用于备份服务器文件的软件.例如有一款"大势至服务器文件自动备份系统"(下载地址:http://www.grabsun.com/filebackup.html),只需要在服务器上安装之后,就可以对服务器的文件进行增量备份和全量备份,也就是可以

  • PHP如何将图片文件上传到另外一台服务器上

    说,我有一个需求,就是一个临时功能.由于工作开发问题,我们有一个B项目,需要有一个商品添加的功能,涉及到添加商品内容,比如商品名字,商品描述,商品库存,商品图片等.后台商品添加的接口已经写完了,但是问题是目前没有后台页面,就是产品还没有出后台详细页面.前端已经完备了,上线了.后台还需要工作时间处理.所以目前的处理方法是在我们已经存在的A项目后台中,添加一个对B项目添加商品的功能. 一.当下问题 1.在我们已有的A项目中,新增一个添加商品的功能,这个本来是没有什么问题的,因为目前A项目中本身就已经

  • 关于网站文件自动备份程序的一点思考

    摘要:  本文提供了一种使用asp php脚本来实现网站文件备份的思路,可以实现指定文件的按天备份.  个人网站往往在虚拟主机上,对主机的控制权限很小,因此不能使用诸如任务计划来实现定时备份,我们需要换一种思路来实现相似的自动备份.  我们可以利用用户对网站的访问来实现对指定文件的按天备份.  基本思路是:用户访问网站 → 读取最后备份日期.读取当前日期然后比较,如果这两个日期不一致则调用备份程序来实现对指定文件的备份,备份完成后再写入新的日期标记,这时候用户再访问网站,日期已经是最新的了,就会

  • SQLServer 2000 数据库同步详细步骤[两台服务器]

    为什么要同步SQL Server 2000 数据库,它都用在什么场合 SQL Server 2000 数据库同步配置的原理 从0开始一步一步配置SQL Server 2000 数据库同步,非常细 已经非常熟练,可以看精品版SQL Server 2000 数据库同步配置 配置SQL Server 2000 数据库同步时的 常见问题 为什么要同步SQL Server 2000 数据库,它都用在什么场合 数据实时备份同步,数据库服务器出问题时我们也有其正常工作时的备份 数据实时备份同步,一台服务器负载

  • linux系统中rsync+inotify实现服务器之间文件实时同步

    之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停的产生的,造成不知道主服务器给备份服务器传输了多少文件,磁盘空间就那么大,做备份的原因:一个是为了保持文件,另外一个是解决主服务器的磁盘饱满问题,但由于不知道备份服务器到底接收了多少文件,所以主服务器里的文件不敢删除(如果没有备份的情况下删除,问题就严重了,我这个是政府的项目,服务器里的文件都是重要的,删错了

  • Linux两台服务器之间复制文件及免密码登录的方法

    有时候搭建集群机器是,需要在多台机器中间相互拷贝文件,一种方式是同事sftp拷贝到本机,再分别拷贝到其他服务器上.这里介绍一种直接在两台服务器之间拷贝文件且去掉繁琐的登陆操作的方法. 两台服务器之间拷贝文件 采用linux命令scp可以在两台电脑之间复制文件,如有两台服务器192.168.129.100/101,现在需要拷贝100 /etc/passwd文件到101服务器的/etc目录下,登陆100服务器,知道101的用户root的密码为123456 scp /etc/passwd root@1

  • linux服务器之间传输文件的四种方式

    本文为大家分享了linux服务器之间传输文件的四种方式,供大家参考,具体内容如下 1. scp [优点]简单方便,安全可靠:支持限速参数  [缺点]不支持排除目录 [用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 . 命令格式: scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 举例

  • python rsync服务器之间文件夹同步脚本

    本文实例为大家分享了python rsync服务器之间文件夹同步的具体代码,供大家参考,具体内容如下 About  rsync 配置两台服务器之间3ssh-key后,可以实现自动化无需手动输入密码,脚本如下: import argparse import datetime from functools import partial import multiprocessing as mp import os import paramiko as pmk import time def check

  • Python 实现两个服务器之间文件的上传方法

    如下所示: # coding: utf-8 import paramiko import MySQLdb def main(): connection=MySQLdb.connect(host='10.10.41.22',user='root',passwd='root',db='Trojan',port=3306) cur=connection.cursor() sql ='select count(*) from blacklist;' cur.execute(sql) count = cu

  • Linux两台服务器之间传输文件和文件夹操作步骤

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快速的在两台服务器之间传输文件和文件夹. 第一步:打开我们的远程连接工具,输入账号密码登录到服务器,如图: 点击文件打开或者新建一个会话,新建会话输入主机的ip和账号密码即可,如果已经登录过,直接点击文件下面那个带+号的图标就可以了. 第二步:找到你要传输的文件或者文件夹: 这里有这么多图片,我随便传

随机推荐