微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第八次作业

1、systemd查看日志文件有隐藏该如何处理?

systemd 日志的配置文件是 /etc/systemd/journald.conf

认情况下,systemd日志保存于/run/log/journal中,系统重启后会清除,这里面的日志文件是二进制形式保存的,不能直接用less等文本文件查看的方式查看内容

journalctl一个命令,查看所有日志(内核日志和应用日志)

journalctl语法格式:

journalctl [OPTIONS…] [MATCHES…]

journalctl -o verbose [MATCHES....]显示全部字段,包括通常被内部隐藏的字段。

json-pretty 格式输出abrtd.service 的最后一条日志:

[root@benny~]#journalctl -u abrtd.service -n 1 --no-pager -o json-pretty
{
	"__CURSOR" : "s=c2f466af2cbe4f26aec6f75f7b2e6bb5;i=7fe;b=9ccdf377d2b244059a1df0d872624443;m=a04209;t=5926c07ef7fb1;x=5828f5a008b0749",
	"__REALTIME_TIMESTAMP" : "1568367570812849",
	"__MONOTONIC_TIMESTAMP" : "10502665",
	"_BOOT_ID" : "9ccdf377d2b244059a1df0d872624443",
	"_UID" : "0",
	"_GID" : "0",
	"_SYstemD_SLICE" : "system.slice",
	"_MACHINE_ID" : "a9005dfe1f9145adba2cda45734fed9e",
	"_HOSTNAME" : "benny",
	"PRIORITY" : "4",
	"_TRANSPORT" : "journal",
	"_CAP_EFFECTIVE" : "1fffffffff",
	"SYSLOG_FACILITY" : "1",
	"CODE_FILE" : [ "logging.c", "abrtd.c" ],
	"CODE_LINE" : [ "143", "889" ],
	"CODE_FUNC" : [ "log_handler", "main" ],
	"MESSAGE" : "Init complete, entering main loop",
	"SYSLOG_IDENTIFIER" : "abrtd",
	"_PID" : "6626",
	"_COMM" : "abrtd",
	"_EXE" : "/usr/sbin/abrtd",
	"_CMDLINE" : "/usr/sbin/abrtd -d -s",
	"_SYstemD_CGROUP" : "/system.slice/abrtd.service",
	"_SYstemD_UNIT" : "abrtd.service",
	"_SELINUX_CONTEXT" : "system_u:system_r:abrt_t:s0-s0:c0.c1023",
	"_SOURCE_REALTIME_TIMESTAMP" : "1568367570811866"
}

2、自己动手写一个systemd的配置文件, 让Nginx服务可以开机启动

一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。

Systemd 认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在那个目录。

systemctl enable命令用于在上面两个目录之间,建立符号链接关系。

/usr/lib/systemd/system创建Nginx.service

[root@benny/usr/lib/systemd/system]#cat Nginx.service
Unit]
Description=Nginx  server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/Nginx/logs/Nginx.pid
ExecStart=/usr/local/Nginx/sbin/Nginx -c /usr/local/Nginx/conf/Nginx.conf
ExecReload=/usr/local/Nginx/sbin/Nginx -s reload
ExecStop=/usr/local/Nginx/sbin/Nginx -s stop
[Install]
WantedBy=multi-user.target

3、SIGHUP、SIGQUIT、SIGTERM、SIGINTERRUPT的区别

  • SIGHUP
    进程重新读取配置文件

  • SIGQUIT
    建立CORE文件终止进程,并且生成core文件

  • SIGTERM
    终止进程 软件终止信号

  • SIGINTERRUPT
    允许信号中断系统调用

4、用awk查看tcp连接处于TIMEOUT的连接个数

netstat -tan | awk '/TIMEOUT/{state[$NF]++}END{for(i in state) { print i,state[i]}}'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐