Linux系统日志

  • /var/log/nessages/:系统总日志存放位置
[root@localhost .ssh]# ls /var/log/messages
messages           messages-20170820  messages-20170828 
  • /etc/logrotate.conf:日志切割配置文件

    compress 通过gzip压缩转储以后的日志

    nocompress 不压缩

    copytruncate 用于还在打开中的日志文件,把当前日志备份并截断

    nocopytruncate 备份日志文件但是不截断

    create mode owner group 转储文件,使用指定的文件模式创建新的日志文件

    nocreate 不建立新的日志文件

    delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩

    nodelaycompress 覆盖

    delaycompress 选项,转储同时压缩。

    errors address 专储时的错误信息发送到指定的Email 地址

    ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。

    notifempty 如果是空文件的话,不转储

    mail address 把转储的日志文件发送到指定的E-mail 地址

    nomail 转储时不发送日志文件

    olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统

    noolddir 转储后的日志文件和当前日志文件放在同一个目录下

    prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行

    postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

    daily 指定转储周期为每天

    weekly 指定转储周期为每周

    monthly 指定转储周期为每月

    rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份

    tabootext [+] list 让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~

    size size 当日志文件到达指定的大小时才转储,bytes(缺省)及KB(sizek)或MB(sizem)

  • dmesg命令

  • dmesg:列出系统硬件相关的信息(位于内存中)

  • dmesg -c:清空信息

  • /var/log/dmesg:记录系统启动的日志

  • last命令:查看正确的登陆,重启等信息(其调用的文件为/var/log/wtmp)

[root@localhost ~]# last
root     pts/0        192.168.101.1    Tue Aug 29 21:27 - 21:27  (00:00)
root     pts/1        192.168.101.1    Tue Aug 29 21:13   still logged in
root     pts/0        192.168.101.1    Tue Aug 29 21:08 - 21:13  (00:04)
root     tty1                          Tue Aug 29 21:06   still logged in
reboot   system boot  3.10.0-514.el7.x Tue Aug 29 21:03 - 22:57  (01:53)
root     tty1                          Tue Aug 29 20:36 - 20:43  (00:07)
reboot   system boot  3.10.0-514.el7.x Tue Aug 29 20:35 - 22:57  (02:21)    
  • lastb命令:查看登陆失败的信息,对应文件为/var/log/btmp

  • /var/log/secrue:系统安全日志


screen工具

screen一个虚拟终端,作用是防止一个任务意外中断.系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

  • 安装:yum install -y screen

  • 语法:screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

参数说明:

-A  将所有的视窗都调整为目前终端机的大小。-d <作业名称>  将指定的screen作业离线。-h <行数>  指定视窗的缓冲区行数。-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。-r <作业名称>  恢复离线的screen作业。-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。-s 指定建立新视窗时,所要执行的shell。-S <作业名称>  指定screen作业的名称。-v 显示版本信息。-x 恢复之前离线的screen作业。-ls或--list 显示目前所有的screen作业。-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业

screen常见用法:

  • screen:回车进入虚拟终端

  • ctrl+a,然后d,退出终端(仅仅是退出,而不是结束)

  • screen -ls:

[root@localhost ~]# screen
[detached from 2899.pts-0.localhost]
[root@localhost ~]# screen -ls
There is a screen on:2899.pts-0.localhost    (Detached)
1 Socket in /var/run/screen/S-root.
  • screen -r yourname :回到yourname这个session

  • screen -d -r yourname : 结束当前session并回到yourname这个session

在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始:

  • C-a ? -> 显示所有键绑定信息

  • C-a c -> 创建一个新的运行shell的窗口并切换到该窗口

  • C-a n -> Next,切换到下一个 window

  • C-a p -> Previous,切换到前一个 window

  • C-a 0..9 -> 切换到第 0..9 个 window

  • Ctrl+a [Space] -> 由视窗0循序切换到视窗9

  • C-a C-a -> 在两个最近使用的 window 间切换

  • C-a x -> 锁住当前的 window,需用用户密码解锁

  • C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。

  • C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。

  • C-a w -> 显示所有窗口列表

  • C-a t -> Time,显示当前时间,和系统的 load

  • C-a k -> kill window,强行关闭当前的 window

  • C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样

      C-b Backward,PageUp C-f Forward,PageDown H(大写) High,将光标移至左上角 L Low,将光标移至左下角 0 移到行首 $ 行末 w forward one word,以字为单位往前移 b backward one word,以字为单位往后移 Space 第一次按为标记区起点,第二次按为终点 Esc 结束 copy mode 

C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上


扩展内容

Linux日志文件总管——logrotate

logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件

例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志。配置完后,logrotate的运作完全自动化,不必进行任何进一步的人为干预

logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改。日志文件的轮循设置在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下

实例1

背景:有一个10MB的日志文件/var/log/log-file,怎样使用logrotate来管理该日志文件?

  • 创建一个日志文件,填入一个10MB的随机比特流数据
[root@zyxlinux01 log]# du log-file
0   log-file
[root@zyxlinux01 log]# head -c 10M < /dev/urandom > log-file
[root@zyxlinux01 log]# du -sh log-file
10M log-file
  • 日志文件已经准备好,将配置logrotate来轮循该日志文件。为该文件创建一个配置文件
/var/log/log-file {monthlyrotate 5compressdelaycompressmissingoknotifemptycreate 644 root rootpostrotate/usr/bin/killall -HUP rsyslogdendscript
}
monthly: 日志文件将按月轮循。其它可用值为‘daily’,‘weekly’或者‘yearly’。rotate 5: 一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。compress: 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。delaycompress: 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。missingok: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。notifempty: 如果日志文件为空,轮循不会进行。create 644 root root: 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。postrotate/endscript: 在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。

上面的模板是通用的,而配置参数则根据需求进行调整,不是所有的参数都是必要的。

实例2

只轮循一个日志文件,日志文件大小可以增长到50MB

# vim /etc/logrotate.d/log-file/var/log/log-file {size=50Mrotate 5create 644 root rootpostrotate/usr/bin/killall -HUP rsyslogdendscript
}

实例3

让旧日志文件以创建日期命名,可以通过添加dateext常熟实现

# vim /etc/logrotate.d/log-file/var/log/log-file {monthlyrotate 5dateextcreate 644 root rootpostrotate/usr/bin/killall -HUP rsyslogdendscript
}

这将让归档文件在它们的文件名中包含日期信息


Xargs

xargs 可以读入stdin的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments

之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令

例如:

find /sbin -perm +700 |ls -l       这个命令是错误的
find /sbin -perm +700 |xargs ls -l   这样才是正确的

选项用法

  • -a:file 从文件中读入作为sdtin
[root@localhost ~]# cat test
#!/bin/sh
echo "hello world/n"
[root@localhost ~]# xargs -a test echo
#!/bin/sh echo hello world/n
[root@localhost ~]#
  • 当sdtin含有特殊字元时候,将其当成一般字符,如:“/”,空格等
[root@localhost ~]# echo "/" |xargs echo
/
  • -e: flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止
[root@localhost ~]# cat txt
/bin zhou yi xuan
[root@localhost ~]# cat txt |xargs -E 'yi' echo
/bin zhou
  • -p: 当每次执行一个argument的时候询问一次用户
[root@localhost ~]# cat txt |xargs -p echo
echo /bin zhou yi xuan ?...y
/bin zhou yi xuan
  • -n: num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的
[root@localhost ~]# cat txt |xargs -n1 echo
/bin
zhou
yi
xuan
[root@localhost ~]# cat txt |xargs -n2 echo
/bin zhou
yi xuan
  • -:t 表示先打印命令,然后再执行
[root@localhost ~]# cat txt |xargs -t -n2 echo
echo /bin zhou
/bin zhou
echo yi xuan
yi xuan
  • -i: 或者是-I,这得看Linux支持了,将xargs的每项名称,一般是一行一行赋值给{},可以用{}代替

  • -r: no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了

[root@localhost ~]# echo "" |xargs -t mv
mv
mv: 缺少了文件操作数
Try 'mv --help' for more information.
[root@localhost ~]# echo "" |xargs -t -r mv
  • -s:num 命令行的最好字符数,指的是xargs后面那个命令的最大命令行字符数

  • -d: delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符

  • -x: exit的意思,主要是配合-s使用
    ***

转载于:https://www.cnblogs.com/zhouyixuan/p/7577470.html

Linux系统日志及screen工具相关推荐

  1. 三十六、rsync通过服务同步、Linux系统日志、screen工具

    三十六.rsync通过服务同步.Linux系统日志.screen工具 一.rsync通过服务同步 该方式可以理解为:在远程主机上建立一个rsync的服务器,在服务器上配置好各种应用,然后本机将作为客户 ...

  2. 77.Linux系统日志,screen工具介绍

    Linux系统日志 日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到***时** ...

  3. rsync通过服务同步、linux系统日志、screen工具

    rsync通过服务同步 /etc/rsyncd.conf是rsync的默认配置文件,该配置文件不存在,需要编辑内容 主服务器上的操作: 1.[root@test rsync]# cat /etc/rs ...

  4. Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具

    一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这 ...

  5. rsync服务同步,linux日志,screen工具

    2019独角兽企业重金招聘Python工程师标准>>> 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 扩展 Linux ...

  6. 十(7)rsync:介绍、常用选项、通过ssh同步、通过服务同步、linux系统日志、screen...

                            rsync工具介绍 rsync:数据备份工具(remote sync). rsync不仅可以远程同步数据(类似scp),而且可以本地同步数据(类似cp) ...

  7. rsync通过服务同步、linux日志、screen工具

    rsync通过服务同步 rsyncd.conf样例 port=873 log file=/var/log/rsync.log pid file=/var/run/rsyncd.pid address= ...

  8. logrotate 命令切换linux系统日志

    logrotate是作为linux系统日志的管理工具存在.他可以轮换,压缩,邮件系统日志文件. 默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行. /etc/l ...

  9. 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 screen工具

    通过后台服务的方式 在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器. 在128主机上建立并配置rsync的 ...

  10. Linux日常运维管理技巧(四)文件同步工具-rsync、Linux系统日志、dmesg命令、lastb命令查看登录失败的用户、screen工具虚拟屏幕

    目录 Linux文件同步工具-rsync Linux系统日志 dmesg命令 lastb命令 screen工具 Linux文件同步工具-rsync rsync命令是一个远程数据同步工具,可通过LAN/ ...

最新文章

  1. pechakucha范例ppt_国际创意论坛
  2. mybatis中mapper.xml命名空间错误
  3. Android通话记录CallLog简单摘要
  4. linux中_Linux基础知识(Linux系统、Linux中的链表)
  5. SpringBoot整合定时任务(在线Cron表达式生成器)
  6. react-color颜色选择器
  7. Salesforce基础名词
  8. 多功能雨伞项目计划书_雨伞策划书范文
  9. 深度学习大神都推荐入门必须读完这9篇论文
  10. electron 双击放大事件
  11. conda使用清华镜像安装pytorch
  12. 宏碁E1-471G笔记本固态启动盘问题
  13. iOS开发- ios学习资源(持续更新)
  14. 曲线绕x轴旋转曲面方程_曲线C绕y轴旋转所成的旋转曲面的方程为.PPT
  15. Java中的反射用法
  16. RAID 0 1 5 10特点以及工作原理
  17. JavaApp自动化测试系列[v1.0.0][Appium开发环境搭建]
  18. 【哲学心理学】何为占有欲?何为真爱?
  19. 纪念日python代码(文字,BGM,动画,玫瑰)
  20. [笔记]Windows核心编程《十九》DLL基础

热门文章

  1. [渝粤教育] 西南科技大学 经济法概论 在线考试复习资料2021版
  2. 次小生成树的某些结论及其算法O(V^2)
  3. Pandas系列(十)Merge语法
  4. 【详细原理】蒙特卡洛树搜索入门教程!
  5. [转]VS2005中的代码视图显示行数
  6. LeetCode_9_回文数字
  7. Delphi程序开启XP的ClearType显示效果
  8. vue-router的简单理解
  9. 如何获取下拉列表框的值
  10. 【转】【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏...