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/bash
rsync -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 :远程同步服务器ip
- 4、/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 测试效果图
略