rsync定时增量备份,omv rsync 备份

  rsync定时增量备份,omv rsync 备份

  目录1。定时同步1。配置免密登录2。编写shell脚本3。crontab定时执行2。触发/实时同步1。调整服务器B 2上的inotify内核参数。使调整后的inotify内核参数立即生效3。安装Inotify-Tool工具4。测试5。写剧本6。将systemd配置为引导和自启动。7.全面的灾难恢复同步脚本3。参考并安装原始源软件。

  安装rsync注意:rsync应该安装在所有参与同步的服务器上,下面讨论的是单向同步。不会同步删除到目标服务器的备份(除非rsync使用delete参数)。备份包含同步源目录及其文件的子目录。

  一、定时同步1。配置ssh-keygen -t rsa -P 2。写shell脚本#!/bin/bash

  # beebackup.sh

  # dest/下有一个备份数据/目录。

  Rsync -avz -e ssh -p 2222rsync类似于cp命令。命令参数大致如下:

  rsync[选项].SRC[.DEST随着src和dest的不同,数据的复制方向也不同,从而产生推拉的效果。

  3.crontab定期执行crontab -e

  ========================================================================================

  #!/bin/bash

  #每天凌晨2: 00备份

  0 2 * * */root/bee backup . sh/dev/null 2 1

  #看一看

  查看

  #删除

  # crontab -r Quartz Cron在线表达式生成

  第二,触发/实时同步

  1.在服务器b上调整inotify内核参数vim /etc/sysctl.conf。

  fs . inotify . max _ queued _ events=16384

  fs . inotify . max _ user _ instances=1024

  Fs.inotify.max_user_watches=2。使inotify内核参数的调整立即生效。sysctl -p3。安装Inotify-Tool工具yum install epel-release。

  安装4。Test inotify wait-mrq-e修改、创建、移动、删除/var/www/inotify wait:用于持续监控和实时输出结果。

  Inotifywatch:用于短期监测,任务完成后会得到结果。

  5.写剧本#!/bin/bash

  # beebackup.sh

  #调试打开选项集-x

  INOTIFY_CMD=inotifywait -mrq -e修改,创建,属性化,移动,删除/root/src

  # rsync在备份到目标服务器后不包括目录src/本身。使用- delete参数同步删除目标服务器。

  RSYNC _ CMD= RSYNC-avz-e ssh-p 2222 /root/src/root @ 192 . 168 . 74 . 133:/root/dest/

  $INOTIFY_CMD 读取目录事件文件时

  做

  if[$(pgrep rsync WC-l)-le 0];然后

  $RSYNC_CMD

  船方不负担装货费用

  注意,如果您的linux报告了一个错误:

  缺少结尾- in可以配置ssh客户端。

  vim /etc/ssh/ssh_config

  ===================================================================

  6.配置systemd启动并启动Vim/usr/lib/systemd/system/mybak 2 remote . service。

  [单位]

  描述=rsync本地目录到远程目录

  After=network.target

  [服务]

  类型=分叉

  ExecStart=/root/mybak 2 remote . sh start

  exec reload=/root/mybak 2 remote . sh restart

  ExecStop=/root/mybak 2 remote . sh stop

  PrivateTmp=True

  [安装]

  want dby=multi-user . target mybak 2 remote . sh启动脚本

  #!/bin/bash

  CMD=1美元

  案例$CMD in

  开始)

  nohup /root/beebackup.sh

  ;

  停止)

  pkill beebackup.sh

  ;

  重启)

  pkill bee backup . sh nohup/root/bee backup . sh

  ;

  *)

   echo 用法:mybak 2 remote . sh start stop restart

  ;7.全面的灾难恢复同步脚本#!/bin/bash

  # beebackup.sh

  #set -x

  #获取当前时间

  CURDATE=$(日期%Y-%m-%d)

  #创建日志目录

  mkdir -p /root/bak/log

  #监控备份目录/根目录/软件的更改

  INOTIFY_CMD=inotifywait -mrq -e修改、创建、属性化、移动、删除/root/software

  #监视并备份/root/software目录及其子目录和文件。

  $INOTIFY_CMD 读取目录事件文件时

  Do #如果没有rsync正在执行

  if[$(pgrep rsync WC-l)-le 0];然后

  #删除远程目标备份服务器上的文件,以与本地保持同步

  #同步期间删除和覆盖。原始文件被复制到远程备份服务器(在远程备份服务器的/root/bak/origin/$CURDATE目录下,该目录在本地不可用)。

  # rsync操作日志在本地备份。

  rsync-avbz-delete-backup-dir=/root/bak/origin/$ CURDATE/root/software/root @ 192 . 168 . 74 . 133:/root/sync//root/bak/log/$ CURDATE-bak . log 2 1

  如果[ $?-eq 0];然后

  #如果最后一个备份命令成功,rsync操作日志也将被远程备份。

  rsync-avz/root/bak/root @ 192 . 168 . 74 . 133:/root/rsync _ info/

  船方不负担装货费用

  船方不负担装货费用

  完成的

  版权归作者所有:原创作品来自博主cerana,转载请联系作者获得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: