Articles of linux

nrpe用户不能正确执行脚本使用lsof远程执行,netstat工程

我为nagios创build了一个简单的脚本来检查远程服务器上的端口。 本来我试图用lsof 。 #!/bin/bash RESULT=$(lsof -i :8080 | grep LISTEN) if [ -n "$RESULT" ] then echo "$RESULT" exit 0 else echo "Check application port is down" exit 2 fi 在本地机器上,nagios用户可以运行并执行脚本并获得预期的输出。 但远程使用check_nrpe ,我总是得到其他的回声 Check application port is down 即使正如我所说的在本地运行脚本,它正常工作 nrpe用户拥有执行该脚本所需的所有权限,SELinux处于宽容模式,但是我永远无法使其工作。 所以我改变了RESULT行来使用netstat 。 RESULT=$(netstat -anp | grep ":8080" | grep LISTEN) 然后我可以使用check_nrpe远程获得预期的响应。 所以我认为这是check_nrpe和lsof的问题。 但我永远无法在日志中find任何东西。 任何人有任何想法或build议,以使这与lsof正确工作?

如何增加Linux上的打开文件限制?

我正在使用CentOS 7.我发现使用$ ulimit -a (查找打开的文件)可以看到当前值。 或者只是$ ulimit -n 然后我尝试通过编辑文件来编辑这些限制 $ vim /etc/security/limits.conf 并添加这两行: soft nofile 999999 hard nofile 999999 快速重启之后,检查是否发生了一些事情 $ ulimit -n 它仍然是一样的,我得到1024作为输出。 如何改变这个值并使其在重新启动后保持不变?

/ var /或/ srv / for网站

我知道这不是关于这个问题的第一个问题,但我的目的是更具体一些。 我已经阅读了很多关于它的讨论,而我所理解的是,在FHS的语义上,网站应该保存在/srv目录中。 我不明白的是为什么Apache使用/var作为默认目录,为什么大多数人仍然使用它。 我是完美主义者,而且真的让我感到不可思议,我可以在我的服务器上拥有一些不是很好的东西(因为这个,我今天晚上睡不着)。 基本上我想知道的是,如果在/var和in /srv存储网站有任何实际的区别。 我现在有三天的VPS,而在此之前,我对Linux和服务器的体验非常的小,所以现在我可能无法想象可能会导致未来的问题。 我想,如果有这么多人使用/var那么一定有更好的理由比许多人这样做,所以我也会这样做 。

prlimit未findcentos6.3

在发现ulimit -m之后不再在linux上做任何事情 ……我正在调查prlimit的使用。 我发现这应该是作为util-linux / util-linux-ng一部分存在,但是我已经在我的系统上安装了这个 find / -name prlimit 产生零结果; 我目前已经安装 util-linux-ng.x86_64 0:2.17.2-12.7.el6_3 我试过跑步 yum更新util-linux-ng 这使我想到了版本 2.17.2-12.18.0.1.el6 仍然是同样的问题; 我运行的是CenotOS 6.3,升级不是一个选项。

在线resize2fs ext4closures/重置所有打开的文件?

在我的CentOS 6.x我使用resize2fs进行了在线ext4文件系统的调整。 运行在这个磁盘上的唯一程序是sphinxsearch。 我注意到狮身人面像服务器有很多: [Sun May 1 11:11:11.479 2011] [21134] WARNING: send() failed: 32: Broken pipe 一个可能的解释是打开的文件被closures。 在线resize2fs ext4closures/重置所有打开的文件?

在Linux上怎么会有一个OOM场景(启发式OOM杀手)?

我知道虚拟内存的概念。 并且需求分页(取决于vm.overcommit_memory),您可以分配比可用RAM更多的内存。 除非你“触摸”一个页面,否则真的没有发生。 否则,我猜是有一个页面错误和物理内存然后用于页面框架。 但是这不知何故意味着,如果系统内存紧张,它只会将最近使用过的东西换出并正常工作。 怎样才能杀死一个进程呢? 这是否发生,因为太多的内存是mlock()。 OOM是在太多垃圾之后被调用的吗? 或者换句话说,触发OOM杀手的背后究竟是什么? 我读了你可以做“回声1> memory.oom_control”或“echo -17> / proc / PID / oom_adj”来禁用它。 那有什么含意? 机器可能会在一段时间内完全没有响应。 但是如果违规程序发现它没有进展,它也可能暂时停止消耗内存(那么快),最终所有的东西都应该重新开始工作,或者我错了吗? 在我的场景中,只有一个进程(具有巨大的内存caching)。 这些数据当然不是持久的,但我宁愿不重新启动进程(并重新加载数据)。

如何在Linux中设置最大的TCP接收窗口大小?

我想限制每个TCP连接的速率。 我可以在Linux中设置最大的TCP接收窗口大小吗? 用iptables + tc只能限制IP源。 参数net.core.rmem_max和net.core.wmem_max并不适用。

有没有可能使用Zabbix来监视进程?

我在我的一些专用服务器上安装了zabbix-server , zabbix-proxy和一些zabbix-agent 。 一切正常,我对所有事情都很满意,但是我对这个话题感到好奇: 监控stream程 。 我想要的是: 我希望Zabbix能够监控进程(CPU和RAM的使用情况,正常运行时间等),监控networkingstream量,CPU使用率等等,所以我可以看到它们的graphics,制作屏幕等等。 至今: 从谷歌search,我发现可以创build一个自定义脚本,然后可以执行,所以你可以告诉脚本做你想做的任何事情,但我试图完成不同的东西,你可能已经注意到以上部分 题: 那么,甚至有可能以任何方式做到这一点? 如果是这样,我应该从哪里开始?

如何testing挂载的共享是否仍然有效

我有一套使用samba(和其他)共享驱动器的Linux机器。 有自动的脚本来挂载这些共享。 我的问题是,有时主机会脱机,但我找不到从客户端testing的好方法。 我正在为此检查mount命令输出,但是自离线以来的挂载仍然出现在输出中。 我的下一个尝试是尝试执行ls /media/mount 。 这将从共享中返回文件,或者以"ls: cannot access /media/mount: Host is down"错误信息"ls: cannot access /media/mount: Host is down" 。 除非ls很慢,或者有时候挂起,否则这样会很好。 我也试过df ,这个给了我所需要的信息,而不必parsing错误,但是它仍然很慢,我担心它也可能会挂起。 有没有一种方法来testing共享连接没有缓慢/挂起问题? 理想情况下,发布的命令不必错误地回答是否可以实际读写共享。

MQTT证书validation失败

我一直拼命地试图让我的MQTT客户端连接到我的MQTT代理,该代理使用来自CA(Letsencrypt)的证书进行设置。 为了能够获得CA证书,我使用了letsencrypt python命令( https://pypi.python.org/pypi/letsencrypt/0.4.1 ) ./letsencrypt-auto certonly -d www.myserver.com 这给了我: lrwxrwxrwx 1 root root 41 Mar 6 23:50 cert.pem lrwxrwxrwx 1 root root 42 Mar 6 23:50 chain.pem lrwxrwxrwx 1 root root 46 Mar 6 23:50 fullchain.pem lrwxrwxrwx 1 root root 44 Mar 6 23:50 privkey.pem 这些文件我也用于我的网站上的SSLencryption(apache2),这似乎在我的conf文件中工作得很好: SSLCertificateFile /etc/letsencrypt/live/www.server.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.server.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf 而当我的networking服务器,我看到的SSL图标,它的工作原理。 现在,当我把这些文件放在我的/etc/mosquitto/mosquitto.conf中时: […]