Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >rsync文件夹,其中的目标文件夹具有相同的文件,只是已经压缩

rsync文件夹,其中的目标文件夹具有相同的文件,只是已经压缩
EN

Stack Overflow用户
提问于 2017-06-28 10:38:50
回答 1查看 100关注 0票数 0

我对bash脚本和rsync (通过SSH)的了解非常有限。

在我的用例中,有一个本地文件夹,其中包含日志文件。这些日志文件每24小时轮换一次,并在其文件名中接收日期戳(例如,logfile.DATE),而当前的文件仅称为日志文件。

我想将这些文件复制到另一台(远程)服务器上,然后在此远程服务器上压缩这些复制的日志文件。我想使用rsync来确保如果脚本不工作一次或两次,没有文件被跳过(所以我不想弄乱日期和日期缩写,如果不是nessecary的话)。

但是,如果我理解正确的话,所有的文件都是rsynced的,因为已经rsync的文件并不“匹配”rsync算法,因为它们是压缩的……当相同的文件位于远程位置(仅压缩)时,如何避免再次复制相同的文件。

有没有人有一个想法或方向,我应该把我的研究重点放在这上面?非常感谢你最好的问候

EN

回答 1

Stack Overflow用户

发布于 2017-06-28 10:47:21

进行旋转时,将logfile重命名为logfile.DATE。作为该操作的一部分,同时使用ssh mv在归档服务器上执行相同的操作(您甚至可以告诉服务器压缩它)。

然后你只需要同步当前的logfile即可。

例如,您的旋转操作从以下位置开始:

代码语言:javascript
代码运行次数:0
复制
mv logfile logfile.$(date +%F)

要这样做:

代码语言:javascript
代码运行次数:0
复制
mv logfile logfile.$(date +%F)
ssh archiver mv logfile logfile.$(date +%F) && gzip logfile.$(date +%F)

您的rsync作业将从以下位置开始:

代码语言:javascript
代码运行次数:0
复制
rsync logdir/ archiver:

要这样做:

代码语言:javascript
代码运行次数:0
复制
rsync logdir/logfile archiver:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44800176

复制
相关文章
如何在Dart中合并列表
在 Dart 编程中,List 数据类型类似于其他编程语言中的数组。列表用于表示对象的集合。它是一组有序的对象。Dart 中的核心库负责 List 类的存在、创建和操作。有 5 种方法可以组合两个或多个列表:
徐建国
2021/12/01
2.1K0
如何在Firefox中配置HTTP?
在浏览器中配置HTTP是一个常见的需求,它可以让我们轻松访问需要的网站或保护个人隐私。本文将为您详细介绍如何在Firefox浏览器中配置HTTP应用,帮助您实现无缝的HTTP体验。无论您是初次接触HTTP还是有一定经验的用户,本文都能为您提供实用的操作步骤和示例代码。让我们一起来配置Firefox的HTTP吧!
华科云商小徐
2023/10/10
5710
dart系列之:浏览器中的舞者,用dart发送HTTP请求
dart:html包为dart提供了构建浏览器客户端的一些必须的组件,之前我们提到了HTML和DOM的操作,除了这些之外,我们在浏览器端另一个常用的操作就是使用XMLHttpRequest去做异步HTTP资源的请求,也就是AJAX请求。
程序那些事
2021/12/15
8450
dart系列之:浏览器中的舞者,用dart发送HTTP请求
Qt中QMap键值对基本用法(键值对)
T1为键值对中的键key,T2为键值对中的值。通过键值对中的键可以搜索到值。一般来说,键值对中的键是唯一的,不可重复,而值没有要求,可以重复。并且QMap具有自动排序功能,对输入的键进行排序。
全栈程序员站长
2022/09/02
3.6K0
python字典批量删除多个键值对(连续)
  搜不到字典批量删除多个键值对的方法,换了个搜索姿势,批量取N个元素,那么组合一下,就出来了!
逆向小白
2023/10/16
2040
python字典批量删除多个键值对(连续)
【说站】python get获取指定键值
default:可选参数,当指定的键不存在时,返回默认值,如果省略 default 参数,则返回 None。
很酷的站长
2022/11/23
1.3K0
C#获取url中参数键值对的方法建议收藏
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120772.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/15
1.7K0
如何在 Linux 中更改 Apache HTTP 端口?
Apache Web Server 是一个免费的开源跨平台 Web 服务器应用程序,用于通过 Internet 提供内容。
网络技术联盟站
2022/06/21
6.2K0
如何在 Linux 中更改 Apache HTTP 端口?
如何在 wxPython 中创建多个工具栏
作为C++库wxWidgets的包装器,wxPython允许Python开发人员利用这个成熟且经过实战测试的框架的强大功能。它具有各种平台的本机外观和感觉,包括Windows,macOS和Linux。使用 wxPython,您可以使用各种小部件(例如按钮、文本控件,当然还有工具栏)设计具有视觉吸引力且响应迅速的桌面应用程序。
很酷的站长
2023/08/11
2920
如何在 wxPython 中创建多个工具栏
如何在Ansible中复制多个文件和目录
Ansible 通过 copy 和 fetch 模块提供了基本的复制文件和目录的功能.
东风微鸣
2022/04/21
17.3K2
如何在Ansible中复制多个文件和目录
如何在Flutter和Dart中检查数字字符串
要检查字符串是否为数字字符串,可以使用double.tryParse()方法。如果返回值等于null,则输入不是数字字符串,否则是。
徐建国
2021/09/08
3.4K0
JDBC 获取插入记录的主键值(9)
import java.sql.*; public class JDBCTest03 { public static void testGetKeyValue() throws ClassNotFoundException, SQLException, SQLException { String sql = "INSERT INTO examstudent(type,id_card, exam_card, student_name,location,grade)"
桑鱼
2020/03/17
1K0
python获取字典中键对应的键值
当字典中的键值存在时,这两种方法没啥区别。但是,当字典中的键值不存在的时候,比如下面这个例子:
灯珑LoGin
2022/10/24
9440
如何在gin中获取响应体内容?
实现思路: 对gin的responseWriter进行包装, 每次写往请求方写响应数据的时候,将响应数据返回出去。step1: 定义一个新的CustomResponseWriter,通过组合方式持有一个gin.ResponseWriter和response body缓存。type CustomResponseWriter struct { gin.ResponseWriter body *bytes.Buffer}func (w CustomResponseWriter) Write(b []byt
Johns
2021/04/10
11.6K0
如何在gin中获取响应体内容?
NodeJs中的express框架获取http参数
最近本人在学习开发NodeJs,使用到express框架,对于网上的学习资料甚少,因此本人会经常在开发中做一些总结。 express获取参数有三种方法:官网介绍如下 Checks route par
蛋未明
2018/06/07
2.2K0
如何在Bash中获取数组长度?
在Bash脚本中,数组是一种常用的数据结构,用于存储多个值。在处理数组时,经常需要知道数组的长度,即数组中元素的个数。本文将详细介绍如何在Bash中获取数组长度的方法,以帮助您更好地处理数组操作。
网络技术联盟站
2023/06/17
1.3K0
如何在Bash中获取数组长度?
dart系列之:dart中的异步编程
熟悉javascript的朋友应该知道,在ES6中引入了await和async的语法,可以方便的进行异步编程,从而摆脱了回调地狱。dart作为一种新生的语言,没有理由不继承这种优秀的品质。很自然的,dart中也有await和async语言,一起来看看吧。
程序那些事
2021/11/21
1.3K0
Dart中..级联操作
class Person { var name; var age; Person(this.name, this.age); getInfo() { print("${this.name},${this.age}"); } } main() { var p = new Person('张三', 20); p.getInfo(); //..为级联操作,可以同时赋值执行方法 p ..name = "李四" ..age = 30 ..getIn
明知山
2020/09/03
7500
点击加载更多

相似问题

如何在Dart中动态执行(如Eval)?

40

http获取python查询键值

20

从Redis获取多个键值

21

如何在Java Script/TestCafe中获取多个键值对数组

226

如何在dart中连接map中的两个键值?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文