Windows使用Rsync备份Linux文件夹

最近有需求把vps上某个备份文件夹自动同步到别的地方。虽然另一台linux服务器也做了同步,但终究文件本地没有备份心里不踏实,于是考虑自己的电脑在每天的第一次开机时执行一次同步。

rsync:

方案一:cwRsync

方案二:cygwin+源码编译

以上两种方法均可通过搜索引擎找到详细步骤,不详述

每天自动执行

最简单的方式是计划任务,不过我这里并没有用这种方法,而是将备份脚本加入到开机自启动中。这种方法存在一个问题,即如果一天多次开机,备份脚本会多次运行。虽然rsync并不会对服务器产生太大压力,但是服务器端备份间隔没有小于一天的,一天多次检查还是有些多余。

解决方案:

创建一个状态文件,内容为今天的日期。脚本运行后先检查该文件中的内容与今天的日期是否相同。若相同则不执行备份,若不同则执行备份,并在备份完成后将今日日期更新到脚本中。

@echo off
echo VPS自动同步到本地....
set /p a=<D:\tools\vpsRsyncDate.conf
if "%a%"== "%date%" (
  echo 今日已同步,无需再次同步
  pause
) else (
  D:
  chdir D:\cygwin64\bin
  echo 开始同步xxx
  bash --login -i -c "(RSYNC 备份命令)"
  echo 完成同步xxxx
  echo %date%> D:\tools\vpsRsyncDate.conf
  pause
)

发表评论

电子邮件地址不会被公开。 必填项已用*标注