rsync简介:
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
它的特性如特点:
1、可以镜像保存整个目录树和文件系统。2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。3、无须特殊权限即可安装。4、快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。
rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。5、安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。6、支持匿名传输,以方便进行网站镜象。
前言:
rsync RH自带不需要安装,其他Linux系统需要提前安装,安全、传输速度快,使用范围广。
一条命令即可实现远程文件传输:
rsync -avz /app/ff/data/ root@文件服务器ip地址:/app/ff/data/
举个栗子:
文件服务器ip地址是:10.1.1.0
rsync -avz /app/ff/data/ root@0.0.0.0:/app/ff/data/
环境配置(前提):
一、在1.1.1.1(应用服务器,也就是执行脚本的服务器)上执行以下操作:
1.1 linux查看当前系统 :cat /etc/issue
1.2 查看rsync是否安装:
rsync
1.3 生成秘钥(一路回车):
ssh-keygen
1.4 打开.ssh文件夹目录:
cd .ssh
1.5 看文件内容:
cat id_rsa.pub
1.6 复制文件内容:
鼠标选中内容
:快捷键(复制)
Ctrl+insert
二、在0.0.0.0(文件服务器)上执行以下操作:
2.1 打开.ssh文件夹目录:cd .ssh
2.2 创建authorized_keys文件,在root根目录执行:
touch .ssh/authorized_keys
2.3 将应用服务器复制的内容粘贴到authorized_keys文件中
快捷键(粘贴):
Shift+insert
注:如果存在多台应用服务器的情况,在末尾处回车另起一行,粘贴即可!
2.4 执行此命令:2.4.1 在root根目录执行:
chmod 600 .ssh/authorized_keys
2.4.2 在root根目录执行:
service sshd restart
三、在1.1.1.1(应用服务器,也就是执行脚本的服务器)上执行以下操作:
3.1 将此脚本复制到/app目录:略(利用工具传输即可)
3.2 给文件赋予执行权限:
chmod 777 BatchSynAndDelOfFiles.sh
3.3 附上脚本内容:
#!/bin/bashrsync -avz /app/ff/data/ root@0.0.0.0:/app/ff/data/cd /app/ff/data/rm -rf *
释义:此脚本功能点:
1、文件同步2、删除应用服务器上的文件目录及文件文件内容说明:
1、/app/ff/data/ :本地目录,末尾/如果写上代表data下面的所有文件,如果不写,则代表data整个目录。2、root:用户名3、0.0.0.0 :远程同步服务器ip4、/app/ff/data/:远程文件同步目录四、定时器_为当前用户创建cron服务
4.1 编辑crontab服务文件:crontab -e
4.2 粘贴文件内容:
0 0 * * * /bin/sh /app/BatchSynAndDelOfFiles.sh
保存退出
释义:
1、/bin/sh/app/BatchSynAndDelOfFiles.sh 这一字段可以设定你要执行的脚本。
2、bin/sh 是指运行 脚本的命令 后面一段时指脚本存放的路径
3、更多参数配置说明,见附件(双击打开即可)
4.3 查看该用户下的crontab服务是否创建成功:
crontab -l
4.4 启动crontab服务 :
/sbin/service crond start
4.5 查看服务是否已经运行:
ps -ax | grep cron
4.6 测试效果图
略