C/C++教程

CentOS环境 rsync 文件同步备份+crontab

本文主要是介绍CentOS环境 rsync 文件同步备份+crontab,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

概要

  • rsync 是类 unix系统下的数据镜像备份工具 —— remote sync; 一款快速增量备份工具 Remote Sync;
  • 远程同步 支持本地复制,或者与其他SSH、rsync主机同步。
  • 第一次同步时, rsync 会复制全部内容,但在下一次只传输修改过的文件;
  • rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
  • rsync 是用 “ rsync 算法” 提供了一个客户机和远程文件服务器的文件同步的快速方法
yum install rsync --安装rsync

mkdir /etc/rsyncd
touch /etc/rsyncd/rsyncd.conf #创建 rsyncd.conf,这是 rsync 服务器的配置文件
ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf #创建软链接
touch /etc/rsyncd/rsyncd.secrets  #创建 rsyncd.secrets ,这是用户密码文件
#sercrets 文件权限必须设置为600 chmod 600 /etc/rsyncd/rsyncd.secrets
chmod 600 /etc/rsyncd/rsyncd.secrets  #将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为 600, 否则无法备份成功
touch /etc/rsyncd/rsyncd.motd
##说明文件 可以自定添加说明信息,同步文件是会在开头提示
  • 设置账号密码
#格式为user:password 
vim /etc/rsyncd/rsyncd.secrets  -> root:root
chown root.root /etc/rsyncd/rsyncd.secrets  
chmod 600 /etc/rsyncd/rsyncd.secrets 
  • 修改服务说明文件
vim /etc/rsyncd/rsyncd.motd 
#新增如下内容:
*********************************
      Welcome to server 167!
*********************************
  • 修改服务端配置文件
    -vim /etc/rsyncd/rsyncd.conf
# Distributed under the terms of the GNU General Public License v2
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help

# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
secrets file = /etc/rsyncd/rsyncd.secrets
motd file = /etc/rsyncd/rsyncd.motd

port = 873 
#指定运行端口,默认是873,您可以自己指定;
address = 192.168.148.167 
#指定服务端IP地址
uid = root
gid = root
use chroot = no
read only = yes

#limit access to private LANs
hosts allow=192.168.148.134 192.168.148.168 #以空格分割 客户端IP
hosts deny=*
max connections = 10

#This will give you a separate log file
log file = /var/log/rsync.log

#This will log every file transferred - up to 85,000+ per user, per sync
transfer logging = yes

log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

[www]
path = /wwwroot/data
list=yes
ignore errors = true
auth users = root
#auth users 是必须在服务器上存在的真实的系统用户,如果你想用多个用户以 “,” 号隔开,比如auth users = moTzxx,root
comment = This is moTzxx-comment #提交信息,便于识别
#exclude = file3/  #此处表明,同步文件 除去所有的 file3 目录,如果以斜杠开头,则可指定“path = /server/ftpfile”下的任何目录或文件
  • 启动rsync服务
#--config用于指定rsyncd.conf的位置,如果在/etc下可以不写
/usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf  
  • 检测服务器防火墙 rsync默认端口 873
iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
iptables -L  #查看一下防火墙是不是打开了 873端口

客户端

  • 配置密码
#密码格式为password 
vim /etc/rsyncd.secrets  -> root
chmod 600 /etc/rsyncd.secrets 
  • 列出 rsync 服务器上的内容
#sync--list-only  --password-file=/etc/rsyncd.secrets 192.168.148.167::www
[root@localhost vhosts]# rsync  --list-only  --password-file=/etc/rsyncd.secrets 192.168.148.167::www
*********************************
      Welcome to server 167!
*********************************
drwxr-xr-x             57 2021/03/01 14:04:03 .
-rw-r--r--             62 2021/03/01 06:44:24 index.html
-rw-r--r--             47 2021/03/01 06:43:37 index.php
drwxr-xr-x             32 2021/03/01 14:08:57 test_new
您在 /var/spool/mail/root 中有新邮件
[root@localhost vhosts]# 
  • 同步文件
# rsync  -avzP --delete  --password-file=/etc/rsyncd.secrets  192.168.148.167::www /wwwroot/data
[root@localhost vhosts]# rsync  -avzP --delete  --password-file=/etc/rsyncd.secrets  192.168.148.167::www /wwwroot/data
*********************************
      Welcome to server 167!
*********************************

receiving incremental file list

sent 25 bytes  received 175 bytes  400.00 bytes/sec
total size is 143  speedup is 0.71
您在 /var/spool/mail/root 中有新邮件
[root@localhost vhosts]# 
这篇关于CentOS环境 rsync 文件同步备份+crontab的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!