当前位置: 首页 > 编程笔记 >

rsync备份时自动创建目录的方法

司徒经纶
2023-03-14
本文向大家介绍rsync备份时自动创建目录的方法,包括了rsync备份时自动创建目录的方法的使用技巧和注意事项,需要的朋友参考一下

一直以来都习惯用 rsync + ssh 作服务器文件同步,但之前都没有在命令参数里面找到类似 mkdir -p 的功能,可以在同步某个指定文件的时候自动在目标服务器上根据需要创建完整的父级目录。比如某些按年月日自动生成的目录型文件需要在文件生成的时候即时同步:


rsync -lprztW --rsh="/usr/bin/ssh -l rsyncuser" /var/2007/12/13/1001.gif 10.0.0.1:/var/2007/12/13/1001.gif


如果/var/2007/12/13目录没有预先在目标服务器上创建的话,该同步操作将报错:rsync: push_dir#3 "/var/2007/12/13" failed: No such file or directory (2)

之前的解决方法是在目标服务器上预先先创建所有可能产生的新目录结构,或者在源服务器上创建新目录的时候即时把目录rsync到目标服务器上。

偶然看到其实 rsync 有个 -R 参数(-R, --relative  use relative path names),用来把相对目录下的整个目录结构同步到目标服务器指定目录下。利用这个参数就可以自动达到 mkdir -p 的效果,只需要把同步命令改成:


cd /var

rsync -lprRztW --rsh="/usr/bin/ssh -l rsyncuser" 2007/12/13/1001.gif 10.0.0.1:/var/

 类似资料:
  • 本文向大家介绍Oracle自动备份及自动备份步骤,包括了Oracle自动备份及自动备份步骤的使用技巧和注意事项,需要的朋友参考一下 数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dm

  • GitLab允许使用简单的命令获取存储库的备份副本。 在本章中,我们将讨论如何在GitLab中进行备份: 步骤(1): 首先,使用SSH(Secure Shell)登录到您的GitLab服务器。 步骤(2): 使用以下命令创建GitLab的备份: 步骤(3): 您可以通过添加环境变量SKIP来从备份中排除某些目录,如下所示: 步骤(4): 备份tar文件将在默认的目录中创建。 浏览到此路径并键入以

  • 我用< code>Python和< code>Django开发了一个web应用程序,需要每天备份数据。目前,< code>Postgres被用作DBMS。 为了执行备份,我发现了<code>django dbbackup</code>模块,但要使用它,我需要运行命令<code>python manage。py dbbackup。 如何在每天的特定时间自动备份?

  • 问题内容: 假设我要制作文件: 由于不存在,因此给出。 自动生成这些目录的最Python方式是什么?对我来说,是否有必要显式地调用并且在每个单独的位置上调用(即/ foo,然后是/ foo / bar)? 问题答案: 该功能执行此操作。请尝试以下操作: 添加该块的原因是为了处理在和调用之间创建目录时的情况,以便保护我们免受竞争条件的影响。 在Python 3.2+中,有一种更优雅的方法可以避免上述

  • 本文向大家介绍rsync备份海量文件时占用大量内存的解决方法,包括了rsync备份海量文件时占用大量内存的解决方法的使用技巧和注意事项,需要的朋友参考一下 linux发行版中大多都自带rsync,不过版本比较低,一般都是2.6.X 在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也一样),在它的

  • 备份工具rsync rsync是Linux系统下最具代表性的数据备份工具,它具有以下特点: 不仅可以远程同步,还可以在本地进行同步。 增量更新,减少同步的流量。 可以在windows和mac下使用,能够做到跨平台使用。 可以很容易做到保持原来文件的权限、时间、软硬链接等等。 比较安全,可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。 rsync的命令格式 rsync命