两台linux服务器rsync自动备份文件

news/2024/9/22 20:21:57/

检查rsycn是否安装
检查方法:rpm -qa rsync
出现rsync 包名就是安装了

安装rsycn
rsync的安装可以使用yum直接安装:yum install rsync

rsycn的服务端/文件接收端配置

1、先创建备份目录

mkdir /data/xsbak

在这里插入图片描述

2、服务端需要开启rsyncd服务,添加配置文件rsyncd.conf

vi /etc/rsyncd.conf
#以下是全局配置
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/lock/rsyncd
[xsbak] #模块名,在源服务器指定这个名字
comment = sync rsync/home #描述信息
path = /data/xsbak #备份目录
use chroot=yes #使用chroot,用root权限
read only = no #设置本地备份目录为读写权限
uid=root
gid=root
max connections=10 #客户端最大连接数
auth users = root #指定数据同步用户
secrets file = /etc/rsyncd.pass #指定数据同步用户信息文件,里面是用户名和密码
hosts allow=39.103.190.34 #允许连接的客户端
ignore errors = yes #忽略出现I/O错误
timeout = 600

3、 创建认证文件

vi /etc/rsyncd.pass

##代码

root:XXX #格式是用户名:密码

加权限:chmod 600 /etc/rsyncd.pass

主要有权限读这个文件,否则会报错

ERROR: password file must not be other-accessible
rsync error: syntax or usage error (code 1) at authenticate.c(175) [Receiver=3.0.9]

4、修改/etc/xinetd.d/rsync文件,disable 改为 no

service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

5、启动服务端

rsync --daemon --config=/etc/rsyncd.conf

注:重启时记得删除rsyncd.pid:rm -rf /var/run/rsyncd.pid

6、开放端口

rsync默认端口是873,防火墙要放开该端口,否则客户端会无法连接的

#开放873端口
sudo firewall-cmd --zone=public --add-port=873/tcp --permanent
#重启防火墙服务
sudo systemctl restart firewalld.service

rsycn的客户端/文件发送端配置

1、客户端配置简单 只需要配置密码既可

vi /etc/rsync_client.pwd
##代码
XXX #只需要填写rsync服务的密码,和服务端的密码一致

#属主要有权限读这个文件,否则会报没权限

chmod 600 /etc/rsync_client.pwd

2、客户端同步测试
将客户端39.103.190.34的/home/xsbak下的文件同步到 81.70.251.43远程服务器服务端 xsbak 目录下面,命令如下:

 rsync -auvrtzopgP --progress --password-file=/etc/rsync_client.pwd /home/xsbak root@81.70.251.43::xsbak

注:xsbak就是服务端/etc/rsyncd.conf里的配置

参考链接:
https://blog.csdn.net/gjwgjw1111/article/details/103515031
https://blog.csdn.net/jc_hook/article/details/126351788

rsync只是一次性同步,如果需要实时同步可以只用cron调度

参考链接:linux下cron周期性调度


rsync常见的报错:
http://t.zoukankan.com/zoe233-p-11972699.html
https://blog.51cto.com/gongxiaoyi/1825454
https://blog.csdn.net/qq_38483583/article/details/123608484


直接用命令行将一个服务器上的文件或者文件夹复制到另一台服务器上:

这种需要连接另外一个服务器,需要输入服务器的登录密码

scp -r /home/test1 zhidao@192.168.0.1:/home/test2 

参考链接:
https://www.cnblogs.com/bingru/p/15817580.html


http://www.ppmy.cn/news/4561.html

相关文章

css知识复习点

四种css使用方式&#xff1a;内嵌式、外链式、行内式、导入式 复合选择器 后代选择器 选择器之间需要用空格隔开&#xff0c;后代不一定是儿子 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>复合…

Win11+RTX3060+Anconda+CUDA11.3+cuDNN8.2+Pytorch1.10一条龙服务2

Win11RTX3060AncondaCUDA11.3cuDNN8.2Pytorch1.10一条龙服务 &#xff08;1&#xff09;查看安装了哪些包 conda list&#xff08;2)查看当前存在哪些虚拟环境 conda env list &#xff08;3&#xff09;创建虚拟环境&#xff0c;你可以创建好几个虚拟环境&#xff0c;虚拟环…

循环神经网络(RNN)

卷积神经网络和循环神经网络的区别 神经网络的基本原理是:一层中的所有神经元都接受一个输入,将其乘以一个权重,然后经过神经元的偏差进行调整,最后用激励函数把输出值标准化,得到一个神经元的输出。最后将一层中所有神经元的输出相加得到该层的输出。比如卷积神经网络,…

[附源码]Python计算机毕业设计华夏商场红酒管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等…

对数据库事务理解以及脏读、不可重复读以及幻读问题

引言 事务就是能够把多个SQL给打包在一起&#xff0c;变成一个整体。因为有些操作是需要作为一个整体来完成的&#xff0c;比如转账操作&#xff0c;A给B转账100&#xff0c;那么A的账户余额就会减100&#xff0c;B的账户余额就会加100。如果在A转账的过程中&#xff0c;因为某…

Dijkstra迪杰斯特拉算法

1.场景 用于计算一个节点到其他节点的最短路径&#xff0c;特点是由其实点位中心向外层扩展&#xff08;BFS思想&#xff09;&#xff0c;直至扩展到终点为止 2.认识 https://blog.csdn.net/weixin_57128596/article/details/126982769?ops_request_misc%257B%2522request%…

RK3588平台开发系列讲解(GPIO篇)配置GPIO需要了解的概念

平台内核版本安卓版本RK3588Linux 5.10Android12🚀返回专栏总目录 文章目录 一、 GPIO(通⽤输⼊输出)二、IOMUX(输⼊输出复⽤)三、PULL(端口上下拉)四、DRIVE-STRENGTH(端口驱动强度)五、 SMT(端口斯密特触发器)沉淀、分享、成长,让自己和他人都能有所收获!😄 …

Linux学习:多线程

一、shell脚本创建 1、创建一个文件夹&#xff0c;放所有文件&#xff0c;命名为test_shell 2、在文件中创建main.c与CMakeLists.txt 3、创建run.sh gedit run.sh 4、在run.sh中编写以下代码 #!/bin/bashrm bulid -rmkdir build cd build cmake .. make ./main 第一行&a…