linux日志和screen工具

本文介绍了Linux系统中日志文件的作用与查看方法,包括关键日志文件/var/log/messages及/var/log/secure的内容和用途。同时,文章还探讨了通过dmesg命令查看系统启动信息,使用last命令获取登录记录的方法。此外,还介绍了如何利用xargs和exec进行高效文件操作,并讲解了nohup和screen工具实现后台任务的持久运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

10.34-10.35 系统日志和screen

日志记录了每天系统发生的各种各样的事,可以通过查看日志检查错误发生的原因。或者受到攻击时留下的痕迹。

/var/log/messages 是核心的系统日志,包含了启动消息,以及系统运行时的其他状态,以及用户安装的软件的日志也会在这里。通常,/var/log/messages是系统发生故障时首先要查看的文件。

/var/log/messages是rsyslogd这个守护进程启动的,守护进程的配置文件在/etc/rsyslogd.conf,这个文件定义了日志的级别。

dmesg 这个命令显示系统的启动信息,在开机时启动,并存储在内存中。如果某个硬件有问题,可以在这里看到。

last用来查看登录linux的系统信息。

last命令实际读取的是/var/log/wtmp文件,但这个文件不能直接用cat,vi,vim,head,tail查看。

[root@cent02 tmp]# last|tail
root     pts/1        192.168.30.1     Tue Oct 24 09:30 - 09:49  (00:18)    
root     pts/0        192.168.30.1     Mon Oct 23 23:37 - down   (10:46)    
root     tty1                          Mon Oct 23 22:07 - 10:23  (12:16)    
reboot   system boot  3.10.0-514.el7.x Mon Oct 23 22:06 - 10:23  (12:17)    
root     tty1                          Tue Oct 24 05:36 - crash  (-7:-29)   
reboot   system boot  3.10.0-514.el7.x Tue Oct 24 05:35 - 10:23  (04:48)    
root     tty1                          Tue Oct 24 05:28 - crash  (00:07)    
reboot   system boot  3.10.0-514.el7.x Tue Oct 24 05:27 - 10:23  (04:56)    

/var/log/secure记录的也是和登录有关的信息,如ssh登录失败的信息在这里都可以记录到。

很多错误信息都不会反应在屏幕上,而是写在了日志里,所以使用常用软件时也应该有查看日志的习惯。如apache,myslq,php等时。

xargs和exec

xagrs可以把前面的输出作为后面的输入,所以可以把两步才能完成的任务一步就完成。他常常和find命令一起使用

find . -mtime +10 |xargs rm //删除最后修改时间大于10天的文件

//下面批量修改后缀名
[root@cent01 test]# ls 
1.txt  2.txt  3.txt  4.txt  5.txt
[root@cent01 test]# ls *.txt|xargs -n1 -i{} mv {} {}_bak //xargs -n1 -i{}类似于for循环,-n1表示对对象逐个处理,-i{}表示用{}取代前面的对象,mv{} {}_bak相当于mv 1.txt 1.txt_bak
[root@cent01 test]# ls
1.txt_bak  2.txt_bak  3.txt_bak  4.txt_bak  5.txt_bak

也可以和-exec配合使用。

find . -mtime +10 -exec rm -rf {} \;  //这里的{}也表示用{}取代前面的对象


[root@cent01 test]# find ./*_bak -exec mv {} {}_bak \; //-exec以;为终止的标志。所以前面需要加上转义符\,同时转义符与前面要有一个空格。
[root@cent01 test]# ls
1.txt_bak_bak  2.txt_bak_bak  3.txt_bak_bak  4.txt_bak_bak  5.txt_bak_bak

screen

有时候一个任务要执行几个小时,或者几天,如果中途断网或者出现意外情况怎么办? 我们可以用两种办法来解决。

nohup
例如执行一个脚本

nohup sh /uer/local/sbin/sleep.sh & //虽然末尾直接加&也可以在后台运行,但是如果退出该终端,这个脚本也会退出。如果前面加上了nohup就不会有这个问题。他的作用就是在当前目录下生成一个nohup文件,放置进程意外中断,并把输出信息记录到nohup中。

screen
screen就是开启一个新的终端,利用这个工具可以确保任务不会因为退出某个终端而终止。

[root@cent01 test]# screen  //输入命令screen会打开一个终端,ctrl+a然后ctrl+d会退出该终端。
[detached from 17799.pts-1.cent01]
[root@cent01 test]# screen
[detached from 17834.pts-1.cent01]
[root@cent01 test]# screen -ls //列出有哪些screen终端以及他们的编号
There are screens on:
    17834.pts-1.cent01  (Detached)
    17799.pts-1.cent01  (Detached)
    14030.pts-1.cent01  (Detached)
    13942.pts-1.cent01  (Detached)
4 Sockets in /var/run/screen/S-root.

[root@cent01 test]# screen -r 13942 //进入screen 13942


[root@cent01 test]# screen -S "abc" //使用-S为一个screen终端命名,避免弄不清哪个终端是什么作用。
[detached from 17928.abc]
[root@cent01 test]# screen -ls
There are screens on:
    17928.abc   (Detached)
    17834.pts-1.cent01  (Detached)
    17799.pts-1.cent01  (Detached)
    14030.pts-1.cent01  (Detached)
    13942.pts-1.cent01  (Detached)
5 Sockets in /var/run/screen/S-root.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值