麒麟系统rsync备份数据

第一步设置两台机器之间免密登录

在主机A 使用root用户生成配对密钥

ssh-keygen  -t  rsa

遇到提示回车默认即可,公钥被存放在用户目录下.ssh 如root用户下  即/root/.ssh/id_rsa.pub就是公钥

将主机A中 /root/.ssh/id_rsa.pub复制到主机B中.ssh 目录并改名authorized_keys 和主机B建立信任,(假设主机B的IP为192.168.2.104)

scp  /root/.ssh/id_rsa.pub  [email protected]:/root/.ssh/authorized_keys

下面使用ssh scp 等命令不需要输入密码了(使用ssh验证即可)

第二步rsync备份数据

在有数据的机器执行以下命令 

假设  /data  为数据存放目录

192.168.0.104 为需要同步的数据的机器

在/root/创建rsync.sh

 vim   /root/rsync.sh

并加入#!/bin/bash

rsync  -avz  /data  [email protected]:/data

后按Esc键  输入:wq 退出

如下图

麒麟系统rsync备份数据_第1张图片

给脚本加权限

chmod  777  /root/rsync.sh

执行脚本验证数据是否同步

同步后设置定时任务 每天凌晨2点执行一次备份

编辑/etc/crontab

在文件最后的#上面添加 * 2 * * *  root  sudo /root/rsync.sh

如下图

麒麟系统rsync备份数据_第2张图片

定时任务设置完成后重启定时服务

systemctl  restart  cron

即可完成定时同步数据,以下是rsync的用法介绍

Rsync介绍

Rsync高效的数据备份,第一次完全备份,以后都是差异备份

1.在本地机器上对两个目录同步

rsync -zvr filename1 filename2

上述代码是将filename1中的文件与filename2中的文件同步,如果将filename2中的文件同步到filename1中,修改代码为:

$ rsync -zvr filename2 filename1

2.使用rsync –a 同步保留时间按标记

$ rsync -azv filename1 filename2

使用上述命令,将filename2中新同步的文件的时间与filename1中的创建的时间相同,它保留符号链接、权限、时间标记、用户名及组名相同。

3.从本地同步文件到远程服务器

$rsync -avz filename1 [email protected]:/home/ubuntu/filename2

上述命令是将本地的filename1同步到远程192.168.0.1的主机上。

注意:如果远程主机的端口不是默认的22端口,假如是3000端口,上述的命令修改为,

rsync -avz '-e ssh -p 4000' filename1 [email protected]:/home/ubuntu/filename2

4.将远程服务器的文件同步到本地

与步骤3类似,只是将filename1与远程服务器的位置对换一下,

$rsync -avz [email protected]:/home/ubuntu/filename2 filename1

同理如果端口不是22,使用以下命令

$ rsync -avz '-e ssh -p 4000' [email protected]:/home/ubuntu/filename2 filename1

————————————————

rsync 的常用的5个参数:

-v, --verbose 详细模式输出

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

--delete 删除那些DST中SRC没有的文件

-z, --compress 对备份的文件在传输时进行压缩处理

–password-file=FILE 从FILE中得到密码

你可能感兴趣的:(rsync备份数据)