compress

logrotate译

旧时模样 提交于 2020-08-19 19:31:08
logrotate旨在简化对生成大量日志文件的系统的管理。支持自动轮训,压缩,删除和邮寄日志文件。每个日志文件可以按每天,每周,每月或文件大小进行处理。 默认logrotate以每天为周期的定时任务运行。除了以日志文件大小为切割条件或者手动使用 -f (--force) 参数切割的任务每天会切割多次,其他条件下同一任务每天只处理一次。 文件 /var/lib/logrotate.status :默认状态记录文件; /etc/logrotate.conf :配置文件 参数 -d, --debug: 调试用,打印执行结果,不会真正执行; -f, --force: 强制执行,用于刚添加或修改任务或历史切割文件被删除后,强制执行切割(每天只执行一次)。 -m, --mail <command> : 指定logrotate发送邮件时使用的命令,该命令需接收两个参数:邮件主题;邮件接收人。该命令必须阅读标准输入上的消息并将其邮寄给收件人。默认命令: /bin/mail -s 。 -s, --state <statefile>: 指定记录logrotate执行结果的文件,在使用特定用户执行logrotate时较有用。 --usage: 打印简短的使用信息。 --?, --help: 打印帮助信息。 -v, --verbose: 开启详细模式。 使用配置文件

Redis错误配置详解

无人久伴 提交于 2020-08-18 23:22:22
Redis提供了许多提高和维护高效内存数据库使用的工具。在无需额外配置应用层的前提下,Redis独特的数据类型、指令和命令调优就可以满足应用的需求,但是错误的配置,更确切的说那些机外设备可能导致操作麻烦和性能问题。虽然导致了一些令人头疼的问题,但是解决方案是存在的,而且解决方案可能比我们预期的简单。 本系列文章介绍了使用Redis时遇到的一些令人头疼的问题,以及该解决这些问题。这些内容基于我们在运行上千个Redis数据库实例时的真实经历。 复制缓冲区限制 复制缓冲区主从服务器同步数据时保存数据的内存区域。在一个完整的主从同步中,初始化阶段同步时,主服务器在复制缓冲区中保存数据的变化。初始化阶段完成后,缓冲的内容发送到从服务器。这个过程可能会遇到缓冲区的容量限制,达到最大容量时复制会重新开始。为了避免这种情况,缓冲区需要依据复制过程中变化的类型和数量进行初始化配置。例如,一个小缓冲区可以存储少量的变化数据,但当变化比较多、比较大时,我们需要大缓冲区。一个更复杂的解决方案会更详细的设置缓冲区,避免冗长、大的复杂过程耗尽缓冲区(如果缓冲区太小)。最终,这个解决方案需要微调特定的数据库。 当256MB的硬限制到达时,或者软限制到达且持续60秒时,默认的复制链路会断裂(导致同步从头开始)。许多情况下,特别是写负载高和从服务器带宽不足的情况下,负载过程都无法结束。这可能导致无限循环

#11 压缩与解压缩

三世轮回 提交于 2020-08-18 09:04:17
Linux系统中常用的压缩和解压缩工具; 压缩:以时间换空间的一种操作; 压缩的原理:标记和替换; 压缩比:压缩之前与压缩之后的文件的大小的比值; 纯文本文件压缩比较大 视频、图像等文件压缩比小 能够实现压缩功能的工具: compress/uncompress: .Z扩展名为红色的,没有特殊含义(系统自带的工具) gzip/gunzip: .gz扩展名 bzip2/bunzip2:.bz2扩展名 xz/unxz: .xz扩展名,目前压缩比最高的工具 zip/unzip: .zip扩展名 gzip: zcat:读取压缩包 gzip, gunzip, zcat - compress or expand files -d:解压缩; -#:以指定的压缩比进行压缩,1-9,9为最高级,默认为6; -C:将压缩结果输出到标准输出,不会对原文件进行压缩; gzip -c /path/to/file > /path/to/compress_file.gz bzip2: bunzip2:读取压缩包 bzip2, bunzip2 - a block-sorting file compressor, v1.0.6 bzcat - decompresses files to stdout -d:解压缩; -#:以指定的压缩比进行压缩,1-9,9为最高级,默认为6; -k --keep:保留原文件不删除

【Hadoop篇08】Hadoop数据压缩

删除回忆录丶 提交于 2020-08-17 19:11:09
简洁而不简单 Hadoop数据压缩 数据压缩优点和缺点 ​ 压缩技术能够 有效减少底层存储系统(HDFS)读写字节数 。压缩提高了网络带宽和磁盘空间的效率。在 Hadoop下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。在这种情况下, IO操作和网络数据传输要花大量的时间 。还有, Shuffle与 Merge过程同样也面临着巨大的IO压力鳘于磁盘IO和网络带宽是 Hadoop的宝贵资源, 数据压缩对于节省资源、最小化磁盘IO和网络传输非常有帮助 。 ​ 不过,尽管压缩与解压操作的CPU开销不髙, 其性能的提升和资源的节省并非没有代价 。如果磁盘IO和网络带宽影响了 MapReduce作业性能,在任意 MapReduce阶段启用压缩都可以改善端到端处理时间并減少IO和网络流量。 压缩策略和原则 ​ 压缩是提高 Hadoop运行效率的一种优化策略通过对 Mapper、 Reducer运行过程的数据进行压缩, 以减少磁盘IO,提高MR程序运行速度 。 ​ 注意:釆用压缩技术减少了磁盘IO,但同时 增加了CPU运算负担 。所以,压缩特性运用得当能提高性能,但运用不当也可能降低性能压缩基本原则: (1)运算密集型的job,少用压缩 (2) IO密集型的job,多用压缩 !! MR支持的压缩编码 压缩格式 hadoop自带? 算法 文件扩展名 是否可切分

使用Java API进行tar.gz文件及文件夹压缩解压缩

霸气de小男生 提交于 2020-08-17 07:30:44
在java(JDK)中我们可以使用 ZipOutputStream 去创建zip压缩文件,(参考我之前写的文章 使用java API进行zip递归压缩文件夹以及解压 ),也可以使用 GZIPOutputStream 去创建gzip(gz)压缩文件,但是java中没有一种官方的API可以去创建 tar.gz 文件。所以我们需要使用到第三方库 Apache Commons Compress 去创建 .tar.gz 文件。 在pom.xml中,我们可以通过如下的maven坐标引入commons-compress。 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.20</version> </dependency> 解释说明 tar文件准确的说是打包文件,将文件打包到一个tar文件中,文件名后缀是 .tar Gzip是将文件的存储空间压缩保存,文件名后缀是 .gz tar.gz 或 .tgz 通常是指将文件打包到一个tar文件中,并将它使用Gzip进行压缩。 如果您阅读完本文觉得对您有帮助的话,请给我一个赞,您的支持是我不竭的创作动力! 一、将两个文件打包到tar.gz 下面的这个例子是将2个文件打包为 tar.gz 压缩文件

2.docker学习笔记之入门,redis主从配置1

允我心安 提交于 2020-08-17 06:55:38
主从复制的作用主要包括: 1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 2、故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。 3、负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点) 分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。 4、读写分离:可以用于实现读写分离,主库写、从库读,读写分离不仅可以提高服务器的负载能力,同时可根据需求的变化,改变从库的数量; 5、高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。 从节点开启主从复制,有3种方式: (1)配置文件 在从服务器的配置文件中加入:slaveof <masterip> <masterport> (2)启动命令 redis-server启动命令后加入 --slaveof <masterip> <masterport> (3)客户端命令 Redis服务器启动后,直接通过客户端执行命令:slaveof <masterip> <masterport>,则该Redis实例成为从节点。 通过 info replication

go语言实现楕圆曲线生成公私钥

旧街凉风 提交于 2020-08-17 02:28:25
package main import ( "bytes" "compress/gzip" "crypto/ecdsa" "crypto/elliptic" "crypto/md5" "crypto/rand" "encoding/hex" "errors" "fmt" "math/big" "prlife/tool" "strings" ) //楕圆曲线算法生成公钥, func main(){ //测试根据随机key及楕圆曲线生成私钥和公钥 privateKey,publicKey:=newKeyPair() fmt.Printf("私钥:%x\n",privateKey.D.Bytes()) fmt.Printf("公钥:%x\n",publicKey) //16进制表示 //根据指定key生成私钥和公钥 randKey := "20180619zafes20180619zafes20180619zafessss" //randKey:=tool.GetRandomString(40) prk, puk, err := getEcdsaKey(randKey) if err != nil { fmt.Println(err) } publicKey1 := append(puk.X.Bytes(), puk.Y.Bytes()...) fmt.Printf("私钥为:%x

redis.conf5.0官方配置文件

房东的猫 提交于 2020-08-16 22:33:40
# Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with the file path as first argument: # # ./redis-server /path/to/redis.conf # Note on units: when memory size is needed, it is possible to specify # it in the usual form of 1k 5GB 4M and so forth: # # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g => 1000000000 bytes # 1gb => 1024*1024*1024 bytes # # units are case insensitive so 1GB 1Gb 1gB are all the same. ################################## INCLUDES ###################################

vue-cli 3 以后没有config文件 打包文件目录需要在根目录 增加 vue.config.js文件

牧云@^-^@ 提交于 2020-08-16 22:24:36
const TerserPlugin = require('terser-webpack-plugin'); const Timestamp = new Date().getTime(); module.exports = { devServer: { host: '127.1.1.88', }, productionSourceMap: false, publicPath: '/migratory/', configureWebpack: (config) => { if (process.env.NODE_ENV === 'production') { // 返回一个将会被合并的对象 return { optimization: { minimizer: [ new TerserPlugin({ sourceMap: false, terserOptions: { compress: { drop_console: true } } }) ] }, output: { // 输出重构 打包编译后的 文件名称 【模块名称.版本号.时间戳】 filename: `js/[name].[chunkhash].${Timestamp}.js`, chunkFilename: `js/[name].[chunkhash].${Timestamp}.js`, }, } }; },

rsync命令参数及SSH自定义端口远程拷贝

╄→尐↘猪︶ㄣ 提交于 2020-08-16 07:20:46
rsync参数的具体解释如下: -v, --verbose 详细模式输出 -q, --quiet 精简输出模式 -c, --checksum 打开校验开关,强制对文件传输进行校验 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -r, --recursive 对子目录以递归模式处理 -R, --relative 使用相对路径信息 -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。 --backup-dir 将备份文件(如~filename)存放在在目录下。 -suffix=SUFFIX 定义备份文件前缀 -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) -l, --links 保留软链结 -L, --copy-links 想对待常规文件一样处理软链结 --copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结 --safe-links 忽略指向SRC路径目录树以外的链结 -H, --hard-links 保留硬链结 -p, --perms 保持文件权限 -o, --owner 保持文件属主信息 -g, --group