rsync+shell脚本完成自动化备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync+shell脚本完成自动化备份相关的知识,希望对你有一定的参考价值。

一、什么是rsync

  rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。
  rsync 包括如下的一些特性:

  能更新整个目录和树和文件系统;
  有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
  对于安装来说,无任何特殊权限要求;
  对于多个文件来说,内部流水线减少文件等待的延时;
  能用rsh、ssh 或直接端口做为传输入端口;
  支持匿名rsync 同步文件,是理想的镜像工具
特征:
可以镜像保存整个目录树和文件系统。

可以很容易做到保持原来文件的权限、时间、软硬链接。
二、操作
首先关闭防火墙
iptables -F
iptables -X
iptables -Z
iptables -L
setenforce 0
vi /etc/sysconfig/selinux?????????????? #修改SELINUX
两台虚拟机一台客户端一台服务端
客户端:
yum -y install rsync????????????? #安装rsync服务
systemctl start rsyncd.service
systemctl enable rsyncd.service
netstat -lnp|grep 873??????????? #检查是否已经成功启动

ssh-keygen #客户端生成密钥

ssh-keygen??????????? #服务端生成密钥

cat /root/.ssh/id_rsa.pub #客户端
cat /root/.ssh/id_rsa.pub #服务端
两个节点都执行操作:#ssh-keygen然后全部回车,采用默认值

.
vi /root/.ssh/authorized_keys
vi /root/.ssh/authorized_keys

定时脚本就涉及到一个目录crontab,还是先介绍一下crontab文件的含义:

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command

其中:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

crontab -e???????????? ?????? #编辑该用户的计时器设置;

          • bash /root/copy.sh 设置运行脚本的时间

    crontab -l #-l:列出该用户的计时器设置;

            • bash /root/copy.sh
              定好时,完成

以上是关于rsync+shell脚本完成自动化备份的主要内容,如果未能解决你的问题,请参考以下文章

Rsync+shell脚本完成自动化备份

rsync+shell脚本完成自动化备份

Rsync+shell脚本完成自动化备份

rsync+shell脚本完成自动化备份

rsync+shell脚本完成自动化备份

rsync+shell脚本完成自动化备份