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
定好时,完成
- bash /root/copy.sh
-
-
-
-
以上是关于rsync+shell脚本完成自动化备份的主要内容,如果未能解决你的问题,请参考以下文章