写了一个生成服务器所有被占用端口及其进程报告的 shell,复制运行即可

2020-10-12 17:15:41 +08:00
 cernard

感觉有时候整理服务器的时候需要:

https://gist.github.com/archichen/8aade04462fe1ffb3ae8e9ca97d0fdc1

复制一个命令,然后运行,报告在 /tmp/reporter.csv|md

可以生成 CSV 或者 Markdown,效果如图:

不知道上面的图有没有挂

https://imgur.com/ivmUhgu

https://imgur.com/c5E0T1v

2690 次点击
所在节点    分享创造
12 条回复
dingdangnao
2020-10-12 21:13:10 +08:00
可以可以
letitbesqzr
2020-10-12 22:48:23 +08:00
赞,不知道能否写个 ss 命令的。CentOS 7 mini 安装的 没有 netstat (net-tools )了
talentl
2020-10-12 23:30:15 +08:00
@letitbesqzr 不能单独安一下 netstat 吗?
mikeguan
2020-10-13 01:18:16 +08:00
@letitbesqzr ss 照抄楼主作业就行了。
为什么用 ss:ss 速度比 netstat 好,极端情况 netstat 会很卡的
richzhu
2020-10-13 10:56:37 +08:00
这是一篇不翻墙就没法看的帖子。。。
zealinux
2020-10-13 14:21:55 +08:00
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
cernard
2020-10-13 14:31:08 +08:00
@zealinux #6 非 root 用户看不到所有进程,切到 root 用户下运行即可
frant1c
2020-10-13 15:51:27 +08:00
(base) [root@localhost ~]# netstat -ntlp | awk 'BEGIN{ system("echo \\|IP\\|Port\\|PID\\|Parameter\\| > /tmp/reporter.md; echo \\|-\\|-\\|-\\|-\\| >> /tmp/reporter.md") } NR>2 {if($4 !~ "::" && $7 != "-"){split($4,ipAndPort,":"); split($7,pidAndProgress,"/"); system("echo \\|"ipAndPort[1]"\\|"ipAndPort[2]"\\|"pidAndProgress[1]"\\|`cat /proc/"pidAndProgress[1]"/cmdline`\\| >> /tmp/reporter.md")}}'
(base) [root@localhost ~]# cat /tmp/reporter.md
|IP|Port|PID|Parameter|
|-|-|-|-|
|0.0.0.0|139|5042|/usr/sbin/smbd--foreground--no-process-group|
|0.0.0.0|22|5044|/usr/sbin/sshd-D|
|127.0.0.1|25|5479|/usr/libexec/postfix/master-w|
|0.0.0.0|445|5042|/usr/sbin/smbd--foreground--no-process-group|

只能显示几个服务,redis, mysql, docker 里运行的 web 服务都没有显示呢
cernard
2020-10-13 16:05:47 +08:00
@frant1c docker 的服务,使用 netstat -ntlp 无法显示进程 PID,列出来也没啥意义。我的脚本是只显示有 PID 的进程,如果你需要通过 docker 容器端口再从 docker ps 中找到对应的服务名,然后添加到 report 中,可以自己改一下
frant1c
2020-10-13 16:30:55 +08:00
@cernard redis 和 mysql 不是装在 docker 里的
cernard
2020-10-13 16:33:01 +08:00
@frant1c 🤦‍我服务器上没这,没法调试,你看着改改吧哈哈哈
cdlnls
2020-10-15 20:31:32 +08:00
这个 awk 用得有点 6 啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/714239

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX