Tar 系统日志轮转 FTPServer

[linux文件打包压缩]
//www.greatytc.com/p/7db19fbf8b11

关于压缩技术的一些讲解,假如一个数据是这样,1 0 1 1 1 0 1 0,0可以当作空位提取出来,然后0的位置无法写入数据,或者连续三个1记作一个规则提取出来,规则也一并存入,之后解压时候又按规则放入
*.Z compress 程序压缩的文件;
*.zip zip 程序压缩的文件;
*.gz gzip 程序压缩的文件;
*.bz2 bzip2 程序压缩的文件;
*.xz xz 程序压缩的文件;
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
*.tar.xz tar 程序打包的文件,其中并且经过 xz 的压缩
gzip, bzip2 以及 xz ,这些都只能对单个文件进行压缩,不能操作目录。

gzip

gzip 压缩解压单个文件
压缩文件后,自动删除源文件, 自动添加 .gz 为扩展名
解压文件后,自动删除原压缩文件

gzip   [-vd]    file
选项和参数
-v   压缩时候显示压缩比
-d   解压
cp  /etc/services   /tmp

cd /tmp

压缩
gzip  -v    services

查看压缩文件的内容
zcat    services.gz

搜索压缩文件的关键字位置
zgrep blp5 services.gz

浏览压缩文件
zless   services.gz

解压
gzip   services.gz

压缩文件并保留源文件
gzip -c services > services.gz

bzip2

更好的压缩比,但是会占用相对多一些的时间
用法几乎和 gzip 一样

[dmtsai@study ~]$ bzip2 [-cdkzv#] 文件名
[dmtsai@study ~]$ bzcat 文件名.bz2
选项与参数:
-c  :将压缩的过程产生的数据输出到屏幕上!
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始的文件喔!
-v  :可以显示出原文件/压缩文件的压缩比等信息;
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快
压缩
bzip2   -v    services
查看压缩文件内容
bzcat    services.bg
bzless   services.bz2
解压
bzat  -d   services.bz2

xz 扩展
更高压缩比,相应的更长时间的耗费。
和前两个几乎一样的用法

tar

-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
-t :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串命令行中。
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项啰!(比较不会忘记)
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项

例子

touch a.c       
tar -czvf test.tar.gz a.c   //压缩 a.c文件为test.tar.gz
 a.c

列出压缩文件内容

tar -tzvf test.tar.gz
-rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c
解压文件

tar -xzvf test.tar.gz
a.c

只打包,不压缩

创建
tar -cvf 创建后的文件名.tar 文档1 文档2
查看包内的文件列表
tar -tf 创建后的文件名.tar

解包到当前位置
tar -xf 创建后的文件名.tar
解包到指定位置
tar -xf 创建后的文件名.tar -C /tmp

打包后进行压缩

-z :通过 gzip 的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-j :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-J :通过 xz 的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
以上 3 个 选项互斥

特别的

-p(小写) :保留备份数据的原本权限与属性,常用于备份重要的配置文件
-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!

示例: 备份系统的配置文件,并且保留源文件的 权限 和 属性 信息

time tar -zpcv -f etc.tar.gz /etc
time 命令可以计算某个程序执行的时间

查看
查看压缩包的文件列表
tar -tf etc.tar.gz

解压
解压压缩包中的某一个文件
tar -xf etc.tar.gz etc/sysctl.conf_bk

解压到指定目录
tar -xf etc.tar.gz -C /tmp

压缩的时候排除文档

打包压缩的时候可以排除一个或者多个文件或者目录,d1,d2是文件或者目录

排除一个文件
tar -jcv -f t.tar.bz2 d1 d2 --exclude=s1

排除多个文件
tar -jcv -f t.tar.bz2 d1 d2 --exclude={s1,s2}

目录也可以
tar -jcv -f t.tar.bz2 d1 d2 --exclude=d1

系统日志轮转

[更多日志详情]
//www.greatytc.com/p/bc2168a9e35b

系统常用日志

/var/log/messages

这个文件相当的重要,几乎系统发生的错误讯息 (或者是重要的信息) 都会记录在这个文件中; 如果系统发生莫名的错误时,这个文件是应该首先查询的。

/var/log/secure

基本上,只要牵涉到“需要输入帐号密码”的软件,那么当登陆时 (不管登陆正确或错误) 都会被记录在此文件中。 su, sudo 等程序、还有网络连线的 ssh, telnet 等程序, 登陆信息都会被记载在这里

/var/log/boot.log

开机的时候系统核心会去侦测与启动硬件,接下来开始各种核心支持的功能启动等。这些流程都会记录在 /var/log/boot.log 里面。只保留本次的开机信息。

/var/log/cron

记录 crontab 调度有没有实际被进行? 进行过程有没有发生错误? /etc/crontab 是否配置正确?

/var/log/dmesg

记录系统在开机的时候核心侦测过程所产生的各项信息。

/var/log/lastlog

可以记录系统上面所有的帐号最近一次登陆系统时的相关信息

/var/log/maillog 或 /var/log/mail/*

记录邮件的往来信息,其实主要是记录 postfix (SMTP 协定提供者) 与 dovecot (POP3 协定提供者) 所产生的讯息啦。 SMTP 是发信所使用的通讯协定, POP3 则是收信使用的通讯协定。 postfix 与 dovecot 则分别是两套达成通讯协定的软件。

/var/log/wtmp, /var/log/faillog

这两个文件可以记录正确登陆系统者的帐号信息 (wtmp) 与错误登陆时所使用的帐号信息 (faillog)

CentOS 使用 rsyslog.service 这个服务来统一管理这些系统日志文件。

日志服务和配置文件

查看日志服务的状态:systemctl status rsyslog.service
rsyslog.service 的配置文件
既然是服务,就会有配置文件。
/etc/rsyslog.conf
配置文件用于设置

(1)什么服务 (2)的什么级别的信息 (3)需要被记录在哪里(设备或文件)
比如:
cron.* /var/log/cron
表示 关于计划任务的所有级别的信息,都记录到 /var/log/cron 文件中

*.info;mail.none;authpriv.none;cron.none /var/log/messages
表示所有服务端 info 级别的信息,邮件的 none 级别的信息,登录认证的 none 基本的信息和计划任务的 none 基本的信息都记录到 /var/log/messages 文件中

了解

image.png

image.png

添加额外的记录日志文件
编辑 /etc/rsyslog.conf 文件

Add other file

*.info /var/log/shark.log

保存退出后
重启服务
systemctl restart rsyslog

把一个Linux 主机设置为 日志服务器
通过配置 /etc/rsyslog.conf 可以把一个 Linux 主机配置成一台 日志服务器,这样其他 Linux 主机的日志,除了记录在自己的本地外,还会发送的 这台日志服务器上一份。
服务端的设置
编辑 /etc/rsyslog.conf

Provides TCP syslog reception

ModLoad imtcpInputTCPServerRun 514

重启服务
systemctl restart rsyslog.service

检查监听端口
[root@shark ~]# ss -natal |grep 514
LISTEN 0 25 :514 :
LISTEN 0 25 :::514 :::

客户端设置
编辑 /etc/rsyslog.conf
. @@192.168.1.100

@@192.168.1.100
表示使用 TCP 协议传输数据到日志服务器 191.168.1.100 上

日志轮转

日志轮转也叫日志的切割,通俗来讲就是对日志文件进行大小的控制。
Linux 系统通常会长时间的不停机运行,这样就会产生好多信息记录到不同的日志中。随着时间的推移,日志的容量自然会越来越大,那问题就来了,硬盘的空间是有限的,那为了控制日志文件的大小,就需要对日志文件进行控制。
同时是把目前的日志文件改名,紧接着创建一个新的日志文件,名称和原来的一样,重启服务进程,让其向新的日志文件中写日志。
logrotate 负责对系统日志的轮转。

通过定时任务每天都会执行一次。

[root@shark ~]# cat /etc/cron.daily/logrotate
#!/bin/sh

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

logrotate 的配置文件

  • /etc/logrotate.conf

主配置文件, 设置的默认值

  • /etc/logrotate.d/

被包含的子配置文件,可以对某一些服务设置特定的配置

logrotate 的主要功能就是将旧的日志文件改成旧文件, 并且重新创建一个新的空的文件来记录。
如下图:

image

/etc/logrotate.conf 的默认值

weekly    >==每周对系统的日志文件进行一次 rotate 的工作
rotate 4  >==同类的日志文件,保留 4 份!
create    >==创建一个新的空文件,继续记录!
dateext   >==可以让被轮转的文件名称加上日期作为文件的后缀名!
#compress >==被轮转的到日志文件是否压缩

设置语法

登录文件的绝对路径文件名 ... {
    个别的参数设置值,如 monthly, compress 等等
}

多个文件可以使用一套参数值。
/path/log/file1.log
/path/log/file2.log
{
...
}

假如,想对某个日志文件实现轮转,建议在 /etc/logrotate.d/ 目录中添加子配置文件

比如

[root@shark logrotate.d]# cat syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

自定义日志轮转

目录下编辑一个文件

/var/log/shark1.log {
        monthly              >== 每月一次轮转
        size=10M             >== 文件大小大于 10M 时, 也开始轮转
        rotate 2             >== 日志文件保留 2 个
        compress             >== 对旧的日志文件进行压缩
        sharedscripts        >== 轮转之前需要先被执行命令
        prerotate
                /usr/bin/chattr -a /var/log/shark1.log      >==去掉特殊属性
        endscript
        sharedscripts      >== 轮转之后需要被执行的命令
        postrotate
            /usr/bin/chattr +a /var/log/shark1.log     >== 特殊属性,文件内容只能增加不能删除或者修改
        endscript
}

测试

可以使用 logrotate 命令测试

logrotate -vf    /etc/logrotate.conf

-v 显示轮转的详情
-f 立刻进行一次轮转

FTPServer

[闫哥简书]
(//www.greatytc.com/p/252f901c5a8a
)
20端口传输数据
21端口传输控制信号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,561评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,218评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,162评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,470评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,550评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,806评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,951评论 3 407
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,712评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,166评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,510评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,643评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,306评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,930评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,745评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,983评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,351评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,509评论 2 348

推荐阅读更多精彩内容

  • Linux文件打包压缩 老师笔记命令详解 一、压缩技术解密 1、目前计算机系统中都是用bytes(字节)单位来计量...
    霓旸芊芊阅读 1,690评论 0 0
  • 了解日志文件是很重要的事情。日志文件可以记录系统在什么时间、哪台主机、哪个服务、出现了什么信息等。可以在系统出现问...
    Zhang21阅读 5,291评论 0 5
  • Linux基础概述 在Linux中万物皆文件 破解root密码单用户ro改成rw init=/sysroot/...
    靖流阅读 673评论 0 0
  • 日志管理2 1、日志服务的配置文件 [loring ~]# vim /etc/rsyslog.conf ...
    崔千易阅读 561评论 0 0
  • 今天室友说了一句很有哲理的话:你认为你有很多选择,但真实的情况是你并没有那么多的选择。仔细看了一下我上个学期的成绩...
    面包主义阅读 506评论 1 1