ubuntu 使用 rsync 的 SSH 方式同步备份远程WEB服务器

这篇具有很好参考价值的文章主要介绍了ubuntu 使用 rsync 的 SSH 方式同步备份远程WEB服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ubuntu 20.04 自带 rsync ,对于 WEB 服务器这种更新频率不高的情况,直接使用定时同步复制远程服务器的方法,比较直接和简单!

$ rsync --version
rsync version 3.1.3 protocol version 31

参考:
Ubuntu20.04中的rsync命令

本次主要使用 SSH 方式来完成,抄录一下参考文章

5.1 SSH 协议
rsync 除了支持本地两个目录之间的同步,也支持远程同步。它可以将本地内容,同步到远程服务器。

rsync -av source/ username@remote_host:destination
也可以将远程内容同步到本地。

rsync -av username@remote_host:source/ destination
rsync 默认使用 SSH 进行远程登录和数据传输。

由于早期 rsync 不使用 SSH 协议,需要用-e参数指定协议,后来才改的。所以,下面-e ssh可以省略。

rsync -av -e ssh source/ user@remote_host:/destination
但是,如果 ssh 命令有附加的参数,则必须使用-e参数指定所要执行的 SSH 命令。

rsync -av -e 'ssh -p 2234' source/ user@remote_host:/destination
上面命令中,-e参数指定 SSH 使用2234端口。

环境

  1. 远程
    ubuntu 2004 server
    192.168.0.196
    nginx/1.18.0 (Ubuntu)

  2. 本地
    ubuntu 2004 server
    192.168.0.194
    nginx/1.18.0 (Ubuntu)

既然作为同步备份,建议本地和远程设置同样环境,使用同样user!

操作和测试

  1. 将远程(192.168.0.196)服务器上 /var/www 同步复制到本机~/bak-www-196 目录

    注意 /var/www 和 /var/www/ 不一样

    /var/www :会创建 www 目录,并复制 www目录下的文件和下级子目录

    /var/www/:只复制 www 目录下的文件和目录,不会创建 www 目录

    为了简化,远程和本地使用相同的用户,如果用户名不一样,需要加上远程用户名( 假设远程用户名是 user)

    例如:$ rsync -av user@192.168.0.196:/var/www ~/bak-www-196

     $ rsync -av 192.168.0.196:/var/www ~/bak-www-196
    
  2. 同理,同步备份网站配置目录

     $ rsync -av 192.168.0.196:/etc/nginx/sites-available ~/bak-www-196
     
     $ rsync -av 192.168.0.196:/etc/nginx/sites-enabled ~/bak-www-196
    

配置密钥方式 SSH

  1. 在本地(192.168.1.194)
    ssh-keygen
    简单起见,一路回车!passphrase 也是空着!

  2. 上传本地(192.168.1.194) 自己的公钥到 远程(192.168.1.196)
    ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.196

  3. 在远程(192.168.1.196)修改 sshd_config ,开启 PubkeyAuthentication

设置定时任务

假设每天晚上 23 点 10 分,执行 rsync -av 192.168.0.196:/var/www ~/bak-www-196 …

如果愿意,自行编写 shell 脚本
假设ssh 端口已经改变为 22222
写法要加上 -e ‘ssh -p 22222’

$ rsync -av -e ‘ssh -p 22222’ 192.168.0.196:/var/www ~/bak-www-196

$ crontab -e

...
# m h  dom mon dow   command
10 23 * * * rsync -av -e 'ssh -p 22222' 192.168.0.196:/var/www ~/bak-www-196 >/dev/null 2>&1
...

查看确认

$ crontab -l

设置 log

	$ cd /etc/rsyslog.d/
	
	$ sudo vim 50-default.conf 
	解除注释 cron.*                          /var/log/cron.log
	
	$ sudo systemctl restart cron
	
	$ sudo systemctl status cron

查看 log

$ less  /var/log/cron.log 

rsync 和 scp 区别

rsync 可以完成增量备份 , scp 每次都完全复制

实际操作一次,会发现 scp 每次都全部 cp

$ scp -r 192.168.0.196:/var/www ~/bak-www-196

196-7                                         100%    7    10.4KB/s   00:00    
194-3                                         100%    4     0.0KB/s   00:00    
......
196-2                                         100%    7    11.7KB/s   00:00    
1.txt                                         100%    4     6.7KB/s   00:00    
index.nginx-debian.html                       100%  612     2.9KB/s   00:00  

第一次,rsync 也会全部复制

$ rsync -av 192.168.0.196:/var/www ~/bak-www-196

receiving incremental file list
......
www/html/test/test1/test1.txt
www/html/test/test1/test2/test2

sent 358 bytes  received 1,032 bytes  556.00 bytes/sec
total size is 683  speedup is 0.49

重复一次,不会再次复制
$ rsync -av 192.168.0.196:/var/www ~/bak-www-196文章来源地址https://www.toymoban.com/news/detail-616683.html

receiving incremental file list

sent 29 bytes  received 473 bytes  334.67 bytes/sec
total size is 683  speedup is 1.36

到了这里,关于ubuntu 使用 rsync 的 SSH 方式同步备份远程WEB服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • rsync远程同步实现快速、安全、高效的异地备份

    目录 一、rsync介绍 1、rsync是什么? 2、rsync同步方式 3、rsync的特性 4、rsync的应用场景 5、rsync与cp、scp对比 6、rsync同步源 二、rsync命令 1、常用选项 2、实例:本地复制对比 3、配置源的两种表示方法 三、配置rsync下行同步 四、rsync实时同步(inotify工具) 1、定期同步的不足

    2024年02月16日
    浏览(41)
  • rsync 远程同步----------安全高效的异地备份方案

    目录 一、rsync介绍 rsync和cp的区别 rsync和scp的区别 二、rsync同步方式 rsync备份的方式 三、配置rsync源服务器 ①本地复制 ②下行同步 ③上行同步 四、常用Rsync命令 五、配置源的两种表达方法 六、部署rsync下行同步 ①环境准备 ②配置rsync源服务器-----------(192.168.246.8) 1)修改

    2024年04月14日
    浏览(42)
  • !!!!建议收藏 Rsync项目实践:数据备份 (文件同步到服务器)

    基本备份要求 准备三台服务器,两台web服务器、一台rsync备份服务器 主机名分别为web01、web02、backup [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rLf7EhNj-1666099690586)(…/…/图片/image-20221018164708556.png)] 客户端需求 1.客户端每天凌晨01点在服务器本地

    2023年04月08日
    浏览(76)
  • 探索rsync远程同步和SSH免密登录的奥秘

    在现代科技飞速发展的时代,数据的备份和迁移成为了一个重要的课题。其中,rsync远程同步和SSH免密登录成为了程序员们常用的工具和技巧。它们能够帮助我们高效地进行文件同步和管理,使数据的传输更加快速和安全。 在本篇文章中,我们将深入探索rsync远程同步和SSH免

    2024年03月09日
    浏览(64)
  • 使用SSH远程连接Ubuntu服务器系统

    实现目的:安装完Ubuntu系统后只能在Ubuntu命令行中输入命令,不能将外面的代码复制进Ubuntu命令行里面,所有本教程是为了配置ssh服务,可以将Ubuntu系统远程通过cmd或者windows Powershell登录,就可以实现代码复制功能。OK,下面介绍如何开启SSH服务。 启用SSH服务,输入以下指令

    2024年02月05日
    浏览(80)
  • 使用SSH通过FinalShell远程连接Ubuntu服务器

    Windows系统 Ubuntu16.04.6(以上版本通用) 虚拟机、服务器 安装SSH服务 首先执行sudo以root的身份执行指令: 接下来需要在Ubuntu服务器端安装SSH服务,在Ubuntu终端输入以下指令: tips:在执行上述指令时,可能会遇到安装失败的情况,此时输入以下指令: 然后再输入以下指令:

    2024年02月03日
    浏览(62)
  • ubuntu上使用 SSH 工具连接到远程服务器

    以下内容由ChatGPT生成,仅供学习参考 在 Ubuntu 中,可以使用终端应用程序(也称为“终端”或“命令行”)来连接到远程服务器。以下是如何使用 SSH 工具连接到远程服务器的步骤: 打开终端应用程序。你可以通过按下 Ctrl + Alt + T 键来快速打开终端应用程序,或者在 Ubuntu

    2024年02月15日
    浏览(40)
  • linux文件数据同步--实现文件共享与备份(nfs+rsync+httpd+dns)

    目录 实验目地: 实验需求: 各项服务位置以及作用: 整体实验过程: 详细配置: Rsync服务: Web服务:  NFS服务 DNS服务 在整体实验中,使客户机在网页可以看到由服务器A上传的文件,并且A服务器有一台备份服务器。 四台虚拟服务器与一台客户机,并关闭防火墙 服务器

    2024年02月03日
    浏览(49)
  • rsync远程同步服务

    rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。 在远程同步任务中,负责发起rsync同步操作的

    2024年01月18日
    浏览(42)
  • Rsync远程同步

      rsync是C/S架构的数据镜像备份工具,可以实现全量备份和快速增量备份支持本地复制或ssh、rsync主机同步。 rsync默认端口为 873 rsync特性:可以在不通主机之间镜像同步整个目录树,支持增量备份、保持链接和权限、时间、属性且传输前自动执行压缩、rsync不需要特殊权限即可

    2024年02月08日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包