Articles of linux

我如何安排在Linux上重新启动?

我希望能够在特定时间安排服务器重新启动,但不是定期。 我怎样才能做到这一点,而无需添加和删除cron条目?

寻找最新的成功login和失败的尝试到CentOS服务器

我正在寻找一个日志文件或任何服务来报告由于用户名/密码错过匹配失败的最新login尝试。 CentOS有没有这样的工具? (内置是首选) 我的第二个问题,更一般地说,我需要一个渗透到我的服务器的日志文件。 理想情况下,这个日志应该包含所有的尝试,包括login,httpd活动和其他传统的开放端口。

kill -9一个postgres进程

postgres SELECT查询在我们的数据库服务器上失去控制,并开始吞噬大量内存并进行交换,直到服务器内存不足。 我通过ps aux | grep postgresfind了特定的过程 ps aux | grep postgres并运行kill -9 pid 。 这个过程被杀死,记忆力如预期地被释放了。 系统和postgres查询的其余部分似乎不受影响。 该服务器在SLES 9 SP4上运行postgres 9.1.3。 然而,我们的一位开发人员扼杀了我杀死一个postgres进程kill -9 ,说这将取消整个postgres服务。 事实上,事实并非如此。 我已经做了很多次,没有看到任何负面影响。 有了这个说法,并且在进一步阅读之后,看起来像没有标志的kill pid是杀死失控postgres进程的首选方法,但是在postgres社区中的其他用户,这听起来像postgres多年来“变得更好”这样在一个单独的查询进程/线程上kill -9不再是一个死刑。 有人能够启发我,以正确的方式杀死一个失控的postgres进程,以及如何使用kill -9与灾难(或良性)是Postgres这些天? 感谢您的洞察力。

什么可以使“`在Linux中默默地失败?

我运行这个命令: python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json 将数据转储到partyapp_dump.json文件中。 但所有的数据只是打印在屏幕上,并创build一个空的partyapp_dump.json文件。 为什么会发生? 我testing了ls > partyapp_dump.json ,并且工作完美。

如何杀死一个永不死亡的过程?

问题 我有没有与SIGTERM或SIGKILL都不死的java进程。 logstash 2591 1 99 13:22 ? 00:01:46 /usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -Xmx1g -Xms256m -Xss2048k -Djffi.boot.library.path=/usr/share/logstash/vendor/jruby/lib/jni -Xbootclasspath/a:/usr/share/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home=/usr/share/logstash/vendor/jruby -Djruby.lib=/usr/share/logstash/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main –1.9 /usr/share/logstash/lib/bootstrap/environment.rb logstash/runner.rb –path.settings /etc/logstash 每次收到信号都会重新生成。 Sep 15 13:22:17 test init: logstash main process (2546) killed by KILL signal Sep 15 13:22:17 test init: logstash […]

用于获取IP地址的Shell命令?

有没有一个bash命令来查找Ubuntu的IP地址框? 我需要findIP地址,以便稍后可以进入机器。

Linux上的非阻塞核心转储?

我正在寻找一种方法来在Linux上运行正在运行的进程的非侵入性核心转储。 我熟悉gdb的gcore ,但是只能在gdb连接到进程时才能运行,并且为了debugging而停止运行。 对于可能意味着几秒钟甚至几分钟的中断执行的大型核心转储。 有没有非阻塞的select? Linux支持写入时拷贝(copy-on-write)内存,它依赖于在没有exec()情况下支持fork() exec() 。 所以我正在考虑一些内核级别的内核,在这个级别内核需要转储进程的进程页表的写时复制快照,然后在原始进程继续运行时写入内核。 我很确定我可以使用gdb强制fork()然后在父进程快乐的时候转储这个subprocess,然后在父进程中wait()以终止subprocess。 尽pipe这很麻烦,但仍然需要两次中断父母程序,尽pipe是短的。 当然有人需要这个?

如何跟踪超级用户的活动

我想知道什么是在Linux环境下跟踪超级用户活动的最佳方法。 具体来说,我正在寻找这些function: A)将击键logging到受保护的系统日志服务器 B)重放shell会话的能力(类似scriptreplay) C)理想情况下,这是不可能的(或者相当困难)的事情,以避免物理访问服务器。 从安全/审计的angular度来看,在一个需要不同系统pipe理员(甚至是第三方)的服务器上执行特权操作的环境中,可以考虑这一点。 每个pipe理员都有自己的名义账户,每个交互式会话都应该被完全logging下来,如果有必要的话可以重播(例如,如果有人使用mc来删除或更改关键文件,这是不够的知道这个人发布了MC命令;必须有一种方法来看看启动MC后究竟做了什么)。 附加说明 : 正如womble指出的那样,最好的select可能不是让用root权限login的用户在服务器上执行更改,而是通过configurationpipe理系统进行更改。 那么让我们假设我们没有这样一个系统的情况,我们需要在同一台服务器上向不同的人授予根级访问权限 。 我对这种暗中偷偷的做法并不感兴趣:每个以root权限login到服务器的人都会完全意识到会话将被logging下来(例如,呼叫中心运营商知道他们的对话是被logging) 没有人会使用通用的超级用户帐户(“root”) 我知道ttyrpld ,它似乎做我在找什么。 但在这样做之前,我想知道这是否可以通过使用未经修改的内核来解决。 我想知道是否有特别的Debian工具(或一般的Linux),可以在不修补shell或内核的情况下对超级用户帐户进行全面的审计。

Linux:CIFS / Samba安装挂起几分钟

我有一个小的本地networking,有一个Gentoo盒子和一个Windows盒子。 我使用下面这样的命令将一个源于Windows的共享挂载到Gentoo框中: mount -t cifs -o username=WindowsUsername,password=thepassword,uid=pistos //192.168.0.103/Users /mnt/windowsbox 大多数时候,一切正常,我可以读写没有问题。 但是,每隔几个星期左右,连接或挂载点似乎都会死机或挂起,因此任何尝试访问挂载点的进程都会处于D状态(磁盘或I / O等待状态)。 这些过程变得不受TERM和KILL信号的影响。 从networking断开连接并重新连接Windows盒子没有帮助。 冷冻状态持续5分钟以上。 这真的令人沮丧,妨碍了正常的工作,因为它冻结了另存为对话框, ls命令等。如果我在挂载点上发出一个umount ,它也挂起,或报告挂载点正在使用。 最终,死亡状态自行解决,挂载点被卸载,或者可以毫不拖延地umount 。 我的猜测是,当连接/挂载空闲或Windows机器闲置时会发生这种情况。 我不确定。 为什么会发生这种情况,我能做些什么来防止它呢? 或者我怎样才能成功地杀死这些D状态进程? 可能相关: CIFS挂载挂在读取

页面分配失败 – 我内存不足?

最近,我在其中一台服务器的kern.log中注意到这样一个条目: Feb 16 00:24:05 aramis kernel: swapper: page allocation failure. order:0, mode:0x20 我想知道: 这个消息到底意味着什么? 我的服务器内存不足? 交换使用率很低(低于10%),到目前为止,我还没有注意到由于内存不足而导致任何进程中断。 附加信息: 该服务器是运行Debian 6.0的Xen实例(DomU) 它有512 MB的RAM和512 MB的交换分区 虚拟机内部的CPU负载平均显示为0.25