Articles of linux

重复和转发udpstream量

有什么办法来重复在端口162传入的udpstream量,并转发到多个端口,如162本身和1600? 我正在检查iptables,但似乎只能redirect到一个单一的端口/主机。 Thx Luke

对于pmap,“Kbytes RSS Dirty”是什么意思?

pmap输出: Address Kbytes RSS Dirty Mode Mapping 00000000006b4000 60 16 16 rw— [ anon ] 这是什么意思?

获取驱动器电源状态而不会唤醒它

有什么方法可以确定某个驱动器是否正在睡眠,而不偶尔唤醒它? 我已经尝试过hdparm -C和smartctl -i但是当它们已经在睡觉时,它们实际上都会唤醒它。 我需要设置一个脚本,定期检查驱动器的状态,并在某些时候将它们设置为睡眠状态,以防已经睡眠。 (事实上​​,在睡眠驱动器上调用hdparm -Y实际上会唤醒它!)。

两个DHCP服务器,阻止其中一个客户端?

我正在构build一个位于不同VLAN上的kickstartnetworking,使用它自己的DHCP服务器。 出于某种原因,我的kickstart客户端不断从我的主DHCP服务器分配IP。 我build立的方式是我在这台路由器上有一个主要的DHCP服务器: 192.168.15.1 连接到该DHCP服务器是IP为192.168.15.2的交换机。 我的kickstart(Scientific Linux)服务器连接到两个端口上的交换机: 端口2 – kickstart服务器通过eth0与生产networking的其余部分通信。 在该接口上分配给服务器的IP是192.168.15.100(在eth0上)。 细节是: Interface: eth0 IP: 192.168.15.100 Netmask: 255.255.255.0 Gateway: 192.168.15.1 端口7 – 有它自己的VLAN ID(和端口8一起)。 kickstart服务器连接到IP为172.16.15.100的端口(在eth1上)。 再次,细节是: Interface: eth1 IP: 172.16.15.100 Netmask: 255.255.255.0 Gateway: none kickstart服务器运行自己的DHCP服务器,并通过eth1分配它们。 大多数启动都是通过端口8在kickstart VLAN上构build的。为防止kickstart DHCP服务器通过生产networking分配地址,我使用如下的路由设置: route add -host 255.255.255.255 dev eth1 此时,客户端不断从192.168.15.1 DHCP服务器分配IP。 我需要找出阻止客户端请求到达该DHCP的方法。 需要注意的是,我也在kickstart服务器上构build了KVM主机,所以我需要这些KVM有能力通过桥接networking从192.168.15.1 DHCP服务器获得DHCP请求,一旦我解决了这个问题。 (目前,他们通过NAT进行通信)。 那么将如何解决这个问题呢? 通过iptables或某种路由我需要放在? 我试图限制在该接口上通过IPtables的请求,允许DHCP请求172.16.15.xnetworking: -A INPUT […]

脚本启动3份rsync

我有一个简单的脚本,它使用rsync将Postgres数据库复制到备份位置,以便与Point In Time Recovery一起使用。 脚本每2小时通过postgres用户的cron作业运行。 出于一些奇怪的原因,我可以看到在进程列表中运行的rsync的三个副本。 任何想法为什么这可能是这种情况? 这是cron条目: # crontab -u postgres -l PATH=/bin:/usr/bin:/usr/local/bin 0 */2 * * * /var/lib/pgsql/9.0/pitr_backup.sh 这里是ps列表,它显示了rsync运行的两个副本和一个睡眠: # ps ax |grep rsync 9102 ? R 2:06 rsync -avW /var/lib/pgsql/9.0/data/ /var/lib/pgsql/9.0/backups/pitr_archives/20110629100001/ –exclude pg_xlog –exclude recovery.conf –exclude recovery.done –exclude pg_log 9103 ? S 0:00 rsync -avW /var/lib/pgsql/9.0/data/ /var/lib/pgsql/9.0/backups/pitr_archives/20110629100001/ –exclude pg_xlog –exclude recovery.conf –exclude […]

不可能停止RAID设备

我试图停止一个RAID磁盘,以便更换一个新的,因为这一个不能正常工作。 我正在inputmdadm –stop /dev/md1 ,并且收到错误消息: mdadm: fail to stop array /dev/md1: Device or resource busy 即使重新启动服务器,我也收到了这条消息,而且看不到可能导致此问题的进程。 服务器正在使用2.6.18-4-amd64内核的Debian。 你能帮忙吗? 编辑:关于我的同事试用的更多细节。 卸载sda1后,命令mdadm –remove /dev/md0 /dev/sda1工作。 但是现在,我们仍然在mdadm –remove /dev/md1 /dev/sda5之后出现错误消息: mdadm: hot remove failed for /dev/sda5: Device or resource busy 我仍然不完全理解不同的分区是如何安装的,所以我认为在这种情况下我有些不明白的地方。

解决LAN上的IP地址冲突

我们的局域网设置了DHCPD,为系统提供固定的IP地址。 但是,如果有人连接笔记本电脑并分配属于另一个系统的IP地址,我们正面临IP地址冲突。 有没有办法来防止这一点? 或者检测电脑的方法?

如何找出哪些网站使用我的Linuxnetworking托pipe框太多的RAM

情况 我有一个虚拟私人服务器(在Dreamhost上),我托pipe我的网站的根访问权限。 我受限于内存(目前为500 MB),所以如果一个站点(本网站的脚本)需要太多的内存,我的整个VPS将被closures并重新启动,所有其他站点都将停止运行! 我的平均使用量大约是100 MB,所以远远没有达到极限,不过某种脚本仍然会这样做:请求太多内存,然后Dreamhost的看门狗杀死我的VPS。 这一切都发生在毫秒(所以他们说),我不能轻易地找出发生了什么。 题 我怎样才能找出脚本是什么原因造成的? Dreamhost并没有对此有帮助,我不完全是最好的Linux黑客:)。 一些更多的细节 我所有的站点都在Apache上,而且都在PHP中。

如何在另一个环境(例如VM)中复制真实网站的httpstream量

我的Web应用程序中有一个错误,我无法重现。 所有的日志看起来不错,或者至less我看不出什么不寻常的东西。 但它发生。 所以我想我可以logging所有的stream量到/从我的网站等待的错误发生,并有这个,重播它以某种方式在我的testing环境。 它确实发生了! 所以我有这个数据: tcpdump -s 1514 -X tcp port 80 and (((ip[2:2] – ((ip[0]&0xf)<<2)) – ((tcp[12]&0xf0)>>2)) != 0) -Z root -C 20 -W 1000 -w capture.cap 我不知道该怎么办。 我有一个运行相同版本的Web应用程序的虚拟机,我想重播logging的数据。 我应该如何处理这个? [编辑] 我试着用tcpreplay做这个例子,但是我的web服务器没有logging任何stream量。 我的testing机器(Fedora 8)运行在VMWare Player中。 假设机器的IP是192.168.41.128,它有一个networking接口:eth0(loopback除外) – 在我的情况下,示例中的步骤#2和#3应该如何? 我应该在同一台机器上运行还是从另一台运行?

这是重新启动Solr的正确方法

我在Solr Schema文件中做了一些修改,我看到我被迫重新启动SolR以使Solr运行新的模式更新。 这是托pipe在一个服务器上solr从start.jar文件运行,但我不知道它是如何开始的(也许没有) 我find了一种方法来阻止SolR从另一个问题( https://stackoverflow.com/questions/2150767/how-to-start-solr-automatically ): kill `ps uax | grep -i "java -jar start.jar" | head -n 1 | awk '{print $2}'` 之后,我用“java -jar start.jar”启动SolR。 这是一个正确的方法来重新启动或有内置/更好的方式来重新启动jar子?