rsync配置与自动化执行

rsync是类unix系统下的数据镜像备份工具——remote sync。一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH、rsync主机同步。我们先来了解下rsync的语法吧,然后在配置rsync+ssh+crontab,实现自动化备份。

创新互联公司是专业的西湖网站建设公司,西湖接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行西湖网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

yum install rsync -y                     #安装服务

本地目录同步(个人认为本地同步还是cp实用)

rsync -avz /tang /home            #将/tang目录下的文件复制到/home中,参数说明看下面。

rsync配置与自动化执行

实验环境:

由于我想把实验录成gif效果,所以装了个图像界面,左边是主服务器,右边是ssh远程备份服务器。

把主服务器的  /tang/  目录 备份到备份服务器的 /home中,备份服务器的IP为:192.168.23.35

rsync -avz /tang/ root@192.168.23.35:/home/        #把本地/tang/目录备份到远程备份服务器的/home目录下

rsync配置与自动化执行

假如主服务器和备份服务器都想保持一致,可以加上 --delete,让备份服务器同步主服务器,有多余的就删除。  左边是主服务器,右边是ssh远程备份服务器。

rsync --delete -avz /tang/ root@192.168.23.35:/home/

rsync配置与自动化执行

同步指定的文件夹名。这里是以b开头的文件夹都匹配

rsync -avz --include 'b*' --exclude '*' /tang root@192.168.23.35:/home   

解释:--include是包括的意思。 --exclude是排除的意思,*代表前面的(左邻)字符有0个或0个以上。

如果想要准确的同步一个文件夹,--include ‘这里是文件夹的名字,后面不加*号键’。 

左边是主服务器,右边是ssh远程备份服务器。

rsync配置与自动化执行

-a, -权限的属性不变

-v, -详细模式输出

-z, -传输时进行压缩处理

-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步

基本的操作上面应该都演示了,相信你应该知道每次同步都要输入备份服务器的密码,现在来配置ssh免密码登录,然后在 crontab -e 中 写个脚本就可以自动化执行了。实验如下:

在主服务器上生成密钥

ssh-keygen            #(直接选择回车,都选择默认就行)

使用ssh-copy-id将公匙发送到备份服务器

ssh-copy-id 192.168.23.35

然后再测试下,远程登录是否要密码,不用就OK!

rsync配置与自动化执行

手动测试同步是否需要输入密码

rsync -avz -e ssh /tang root@192.168.23.35:/home

rsync配置与自动化执行

ssh 免密码登录OK,现在我们把这句写入一个脚本里面

echo "rsync -avz -e ssh /tang root@192.168.23.35:/home " > /etc/tang.sh

crontab -e            #编写定时执行任务,每个小时的第五分钟执行一次。

5 * * * * sh /etc/tang.sh

rsync配置与自动化执行

*  *  *  *  *    sh /etc/tang.sh

解释:

第1列表示分钟1~59 每分钟用*或者 */1表示 

第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天) 

以上实验配置完毕,


标题名称:rsync配置与自动化执行
链接地址:http://myzitong.com/article/gseoje.html