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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。