rsync 一条命令实现远程文件传输

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/ [email protected]:/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

注:如果存在多台应用服务器的情况,在末尾处回车另起一行,粘贴即可!
rsync 一条命令实现远程文件传输_第1张图片

  • 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/ [email protected]:/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 测试效果图

你可能感兴趣的:(rsync)