Linux系统日志及screen工具
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这个sessionscreen -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工具相关推荐
- 三十六、rsync通过服务同步、Linux系统日志、screen工具
三十六.rsync通过服务同步.Linux系统日志.screen工具 一.rsync通过服务同步 该方式可以理解为:在远程主机上建立一个rsync的服务器,在服务器上配置好各种应用,然后本机将作为客户 ...
- 77.Linux系统日志,screen工具介绍
Linux系统日志 日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到***时** ...
- rsync通过服务同步、linux系统日志、screen工具
rsync通过服务同步 /etc/rsyncd.conf是rsync的默认配置文件,该配置文件不存在,需要编辑内容 主服务器上的操作: 1.[root@test rsync]# cat /etc/rs ...
- Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具
一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这 ...
- rsync服务同步,linux日志,screen工具
2019独角兽企业重金招聘Python工程师标准>>> 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 扩展 Linux ...
- 十(7)rsync:介绍、常用选项、通过ssh同步、通过服务同步、linux系统日志、screen...
rsync工具介绍 rsync:数据备份工具(remote sync). rsync不仅可以远程同步数据(类似scp),而且可以本地同步数据(类似cp) ...
- rsync通过服务同步、linux日志、screen工具
rsync通过服务同步 rsyncd.conf样例 port=873 log file=/var/log/rsync.log pid file=/var/run/rsyncd.pid address= ...
- logrotate 命令切换linux系统日志
logrotate是作为linux系统日志的管理工具存在.他可以轮换,压缩,邮件系统日志文件. 默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行. /etc/l ...
- 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 screen工具
通过后台服务的方式 在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器. 在128主机上建立并配置rsync的 ...
- Linux日常运维管理技巧(四)文件同步工具-rsync、Linux系统日志、dmesg命令、lastb命令查看登录失败的用户、screen工具虚拟屏幕
目录 Linux文件同步工具-rsync Linux系统日志 dmesg命令 lastb命令 screen工具 Linux文件同步工具-rsync rsync命令是一个远程数据同步工具,可通过LAN/ ...
最新文章
- pechakucha范例ppt_国际创意论坛
- mybatis中mapper.xml命名空间错误
- Android通话记录CallLog简单摘要
- linux中_Linux基础知识(Linux系统、Linux中的链表)
- SpringBoot整合定时任务(在线Cron表达式生成器)
- react-color颜色选择器
- Salesforce基础名词
- 多功能雨伞项目计划书_雨伞策划书范文
- 深度学习大神都推荐入门必须读完这9篇论文
- electron 双击放大事件
- conda使用清华镜像安装pytorch
- 宏碁E1-471G笔记本固态启动盘问题
- iOS开发- ios学习资源(持续更新)
- 曲线绕x轴旋转曲面方程_曲线C绕y轴旋转所成的旋转曲面的方程为.PPT
- Java中的反射用法
- RAID 0 1 5 10特点以及工作原理
- JavaApp自动化测试系列[v1.0.0][Appium开发环境搭建]
- 【哲学心理学】何为占有欲?何为真爱?
- 纪念日python代码(文字,BGM,动画,玫瑰)
- [笔记]Windows核心编程《十九》DLL基础
热门文章
- [渝粤教育] 西南科技大学 经济法概论 在线考试复习资料2021版
- 次小生成树的某些结论及其算法O(V^2)
- Pandas系列(十)Merge语法
- 【详细原理】蒙特卡洛树搜索入门教程!
- [转]VS2005中的代码视图显示行数
- LeetCode_9_回文数字
- Delphi程序开启XP的ClearType显示效果
- vue-router的简单理解
- 如何获取下拉列表框的值
- 【转】【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏...