CentOS7通过rsync+crontab实现两台服务器文件同步

Posted YSHY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7通过rsync+crontab实现两台服务器文件同步相关的知识,希望对你有一定的参考价值。

centos7系统中已经默认安装rsync

1:主服务器配置

(1)修改rsyncd.conf 配置文件

[[email protected] app]# vi /etc/rsyncd.conf
motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
port = 873
address = 192.168.0.24
uid = wzh
gid = wzh
use chroot = no
read only = no
max connections = 10
timeout = 900
ignore nonreadable = yes

[common]
comment = rsync data
path = /data/imgs/
ignore errors
auth users = wzh
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.0.0/255.255.255.0
hosts deny = *
list = false

(2)创建用户密码

echo "wzh:wzh" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

(3)创建提示信息文件

echo "rsync data" > /etc/rsyncd.motd

 (4)配置防火墙

firewall-cmd --zone=public --add-port=873/tcp --permanent
firewall-cmd --reload

(5)启动服务

rsync --daemon
echo "rsync --daemon" >> /etc/rc.local

 2:备服务器配置

(1)创建密码文件

echo "wzh" > /home/wzh/passwd
chmod 600 /home/wzh/passwd

(2)拉取

[[email protected] ~]$ rsync -avz --password-file=/home/wzh/passwd [email protected]::common /data/imgs/
rsync data

receiving incremental file list
./

sent 58 bytes received 121 bytes 358.00 bytes/sec
total size is 0 speedup is 0.00

 (3)将命令加入到定时任务中,每1分钟执行同步一次


$ vi /home/wzh/rsync_data_imgs.sh

#!/bin/bash
rsync -avz --password-file=/home/wzh/passwd [email protected]::common /data/imgs/ > /dev/null 2>&1 &

$ crontab -e
*/1 * * * * /home/wzh/rsync_data_imgs.sh

$ crontab -l

 

以上是关于CentOS7通过rsync+crontab实现两台服务器文件同步的主要内容,如果未能解决你的问题,请参考以下文章

centos7 inotify与rsync实现实时同步服务搭建

Centos7利用rsync实现文件同步

inotify+rsync实现实时同步(附解决crontab中无法执行python脚本的问题)

Centos7下crontab+shell脚本定期自动删除文件

CentOS7计划任务crontab

centos7下部署rsync+innotify实现数据同步