rsync常用的三种用法

这篇具有很好参考价值的文章主要介绍了rsync常用的三种用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用法1:本地用法
类似于cp、dd命令,实现备份文件的复制(备份)

# rsync /etc/passwd /home/passwd.bak
# rsync -b --suffix=.bak2 --backup-dir=/tmp/ /etc/passwd /home/passwd.bak
--suffix=xxx        指定旧备份文件的后缀名
--backup-dir=xxxx   指定将旧备份文件移动到哪个位置下
1
2
3
4
用法2:远程shell
利用ssh实现数据的远程传输,类似于 scp
拉取:rsync -v -e "ssh -p 22" root@192.168.31.201:/home/passwd /tmp/
推送:rsync -v /root/c.sh root@192.168.31.201:/home/
说明

rsync默认也是基于ssh来实现的,如果目标主机的ssh端口不是22,那么在用rsync的必须用-e选项
rsync通常都需要首先做密钥分发
rsync在远程传输文件的时候,仅仅会传输新文件
在进行文件传输过程中,必须使用对方主机上的一个用户,还必须知道其密码,而且该用户还要有权限
用法3:守护进程模式
rsync的配置文件: /etc/rsyncd.conf(默认不存在)

案例:
将192.168.31.200和192.168.31.202上的数据备份到192.168.31.201上,要求:
1)备份到201的/data/backup
2)201上的rsync以ruser身份运行
准备工作:关闭防火墙,关闭selinux

第一步:配置192.168.31.201(用于接收各主机节点传递过来的备份)
创建目录
# mkdir -pv /data/backup
1
创建用于运行rsync进程的用户ruser
# useradd  -r  -s /sbin/nologin -u 361 ruser
1
修改目录的属主和属组
# chown -R 361.361 /data
1
修改(创建)rsync的配置文件:/etc/rsyncd.conf
# vim /etc/rsyncd.conf 
pid file=/var/lock/subsys/rsync.pid
lock file=/var/lock/subsys/rsync.lock
uid=361
gid=361
log file=/var/log/rsync.log
timeout=100

[dir1]
path=/data/backup
max connections=100
use chroot=yes
read only=no
list=yes
auth users=suser
secrets file=/etc/rsync.pwd
hosts allow=192.168.31.0/24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
创建虚拟用户文件,并创建虚拟用户
# echo "suser:123" >>/etc/rsync.pwd
1
修改虚拟用户文件的权限为600
# chmod 600  /etc/rsync.pwd
1
启动rsync服务
# rsync --daemon --config=/etc/rsyncd.conf
1
检查是否启动成功
# ss -tnl | grep 873
1
【至此,rsyncd就配置完成了,然后就可以在其他节点向rsync传递数据了】

第二步:在192.168.31.200和192.168.31.202上对192.168.31.201做拉取和推送操作
准备工作:在201的/data/backup目录下创建一个文件touch rsync.txt

执行推送和拉取 ,测试一下
拉取:# rsync -avz suser@192.168.31.201::dir1 ./
在任一客户端节点执行拉取操作,没有报错并且rsync.txt被拉取到当前位置,说明rsync配置没问题。
推送:# rsync -avz /etc/passwd suser@192.168.31.201::dir1
在任一客户端节点执行推送操作,没有报错并且在服务端/data/backup目录下有 passwd文件说明推送也能正常完成。
在客户端创建密码文件(方便实现自动化)
# echo "123" >>/etc/rsync_tuser.passwd
1
修改密码文件的权限为600
# chmod 600 /etc/rsync_tuser.passwd
1
再次执行推送/拉取,用密码文件实现认证
# rsync -avz suser@192.168.31.201::dir2 ./ --password-file=/etc/rsync_tuser.passwd
1
补充:选项--exclude=filename
例子:

排除单个文件:–exclude=5.txt
排除多个文件:–exclude={5.txt, 7.txt}
基于通配符做排除:–exclude=*txt
传输失败的原因传输失败的原因

用户名或者密码写错了
密码文件指定错了
虚拟用户密码文件权限不是600
模块对应的文件的属主不是rsync daemon的运行者身份
————————————————
版权声明:本文为CSDN博主「cx_baby」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cx55887/article/details/82943760文章来源地址https://www.toymoban.com/news/detail-798596.html

到了这里,关于rsync常用的三种用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux下修改文件名的三种方法

    在Linux系统中,有多种方法可以用来修改文件名。以下是三种常用的方法: 1. 使用 mv 命令 mv 命令是最基本也是最直接的方式来重命名文件。它的基本语法是: 打开终端 :首先,你需要打开一个命令行终端。 定位到文件所在目录 :使用 cd 命令进入包含你想要重命名的文件的

    2024年01月17日
    浏览(43)
  • Linux中修改文件名的三种方法

      在Linux操作系统中,对文件名的修改是一项常见且至关重要的操作。文件名修改的需求多样,包括但不限于:促进文件组织的清晰性、确保命名符合特定规则,以及简单地修复拼写错误。与通过图形界面直接下载后修改文件名相比,采用命令行方式进行文件名修改,能够带

    2024年01月17日
    浏览(44)
  • Linux批量快速修改文件名的三种方法

    在Linux中, 批量重命名文件 是一项常见且有用的操作。以下是三种常用的批量重命名文件的方法,每种方法都附有示例。这些方法既可以适用于新手,也适用于更有经验的用户。 话不多说,直接上干货! rename 命令 rename命令是一种强大的批量重命名工具,它支持使用正则表

    2024年04月11日
    浏览(43)
  • linux修改文件名的三种方法有哪些

    在Linux中,你可以使用以下三种方法来修改文件名: 使用  mv  命令: mv  命令是用于移动或重命名文件和目录的常用命令。要修改文件名,可以使用以下语法: php复制代码 mv 旧文件名 新文件名 例如,要将文件  oldname.txt  重命名为  newname.txt ,可以运行以下命令: bash复制

    2024年01月17日
    浏览(37)
  • linux:文件替换的三种方式sed、awk、perl

    linux 文件内容替换,网上看了下大致就这三种 sed、awk、perl,今天挨个使用一下看看怎么样 语法 Linux sed 命令是利用脚本来处理文本文件。详细文档 搭配 find 可以对文件夹进行查找替换: find ./ -name \\\"*.js\\\" | xargs sed -i \\\'\\\' \\\'s/aaa/hhh/g\\\' 问题 一般在 linux 上该命令就可以生效。 但是我

    2024年02月03日
    浏览(39)
  • Qt comboBox控件的三种基本用法

    1、用法一: 一般用到控件comboBox的基本用法是获取当前的值: 1.currentIndex(); 获取当前comBox的索引,是int类型的值。 2.currentText(); 获取当前comBox的文本,是QString类型。 2、用法二: 可以通过以下两种方式来通过切换comobox的值来执行一些指令: 1、通过首先在界面上拖入控件

    2024年02月12日
    浏览(32)
  • python字典访问的三种方法的详细用法

    如果想自定义 get() 方法返回的默认值,可以在调用 get() 方法时传入默认值作为参数。示例代码如下:

    2024年02月16日
    浏览(39)
  • C语言if判断语句的三种用法

    一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 C 语言中 if 语句的语法: 如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。 C 语言把任何非零和非空的值假定为 true,把零或 n

    2024年02月06日
    浏览(53)
  • JavaScript 中问号的三种用法 ??和?.以及?: 您知道吗?

     最近看了一些关于JavaScript的测试脚本,觉得JS 中问号的用法还是蛮有意思的,于是做了一下总结,在这里分享给大家!JS中的问号大概有三种用法,分别是:空值合并操作符、可选链操作符和三目运算。 空值合并操作符??是一个逻辑操作符,当左侧的操作数为 null 或者 und

    2024年02月11日
    浏览(24)
  • python %f格式化输出float的三种用法

    %f是python内置的格式化输出符号,主要用于输出浮点数,一般需要跟print()内置函数进行搭配使用。下面的内容将介绍三种%f的用法。 %f输出浮点数,可能会保留小数点后6位数,下方实例中,%f为格式化输出符号,第二个%符号则用于按顺序匹配对应的%f符号: %f输出指定小数点

    2024年02月15日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包