Articles of freebsd

FreeBSD上的Ntop的替代品

ntop是logging基于FreeBSD的防火墙的networking吞吐量统计数据的一个很好的工具。 统计信息可以使用Web浏览器以图表forms显示。 但是,Ntop的限制是它不允许你过滤每台主机的吞吐量; 您只能过滤每个接口或每个硬编码的协议和端口号。 有没有类似的工具更灵活? 特别是,我正在寻找过滤主机的可能性。 我已经检查并排除了以下工具:仙人掌,IPAudit,IPTraf,MRTG,Zabbix。 排除原因:缺lessfunction或不再维护。

通过TFTP服务NFS挂载

我有一台FreeBSD服务器,我想运行TFTP服务器(对于PXE)。 我select的守护进程是tftp-hpa ,我已经将它configuration为正确地从/tftpboot服务。 它工作除非我通过NFS挂载/tftpboot 。 这是一些更多的信息.​​.. sockstat -4l确认in.tftpd正在*:69上运行(这是正确的) telnet显然不工作(UDP),但是当我试图抓住一个存在的文件,我得到一个超时。 /var/log/messages没有战利品 当我请求一个不存在的文件时,我得到了正确的错误 有任何想法吗?

如何在FreeBSD中find包含指定string的文件?

我正在寻找方法来查找包含指定string文本的文件。 它应该尽可能快,但不是那么重要。 我正在阅读手册,我已经build立了这样的东西: grep my_string * -r ,它可以工作,但如果有很多目录要search。 有没有其他方法可以在FreeBSD中find包含指定string的文件?

在FreeBSD的netstat -anx中,Send-Q和S-BCNT有什么区别?

扩展的netstat统计信息中的发送缓冲区字节数的确切含义是什么?为什么它总是比Send-Q大? 换句话说,与S-BCNT相比,什么不算在Send-Q上? S-BCNT是一个更好的数字来计算特定连接系统的成本吗?

通过PHP访问文件,但不能从外部访问

我的主机为我提供了两个文件夹供我使用, /home/public/这是页面去的地方, /home/private/是我个人使用的。 我想让PHP创build一个文件,这个文件可以从机器上读取,但不能通过互联网上的任何人读取。 公用文件夹中的文件导致此问题。 我想到了由apache组织拥有的文件,但我不是它的成员。 如果我可以将文件放在我的私人目录中,这将是非常好的,但是可以理解的是,当试图写入文件时,出现访问错误。 我该怎么办?

snmptrapd traphandle到php脚本

我必须在PHP脚本中接收snmptraps,所以我所做的是: snmptrapd.conf traphandle 1.3.6.1.4.1.3.1.1 /usr/home/user/trap/l.php l.php #!/usr/local/bin/php <?php $flow = fopen("php://stderr","r"); while(!feof($flow)){ file_put_contents("out",fread($flow,1024)."\n", FILE_APPEND); } ?> 然后我开始snmptrapd像这样: snmptrapd -Le -f 并生成这样的陷阱: snmptrap -v 1 -c public localhost '' localhost 6 1 '' snmptrapd给了我这样的输出 2012-01-16 14:38:49 127.0.0.1(via UDP: [127.0.0.1]:11478->[0.0.0.0]:0) TRAP, SNMP v1, community public SNMPv2-SMI::enterprises.3.1.1 Enterprise Specific Trap (1) Uptime: 70 days, 1:03:57.00 所以它似乎工作…但问题是, l.php没有执行,或没有什么stderr – […]

奇怪的rsync问题 – 复制和解压缩文件

我有两台服务器:我们的生产Web服务器(freebsd)和备份服务器(centos)。 生产服务器每3小时执行一次mysql数据库转储,并使用bzip2压缩转储文件。 所以我们在/ backups / dumps /下有一个文件夹,这些文件就像database_dump-20120119_152100.bz2。 在我们的备份服务器上,我们有一个/ BackupRaid / webserver /文件夹。 在此服务器上,每3小时运行一次rsync脚本,将生产服务器上的/ backups / dumps文件夹同步到备份服务器上的/ BackupRaid / webserver文件夹。 其中一个备份文件大约500MB。 如果你解压缩,它是3.2GB。 这个stream程现在已经运行良好。 但是最近我查了一下备份服务器,发现上个星期每3个小时就有一个500MB的bz2文件,但是每个文件都有一个3.2GB的压缩版本。 所以现在有两倍的文件,一个是未压缩的,一个是压缩的。 我发现什么时候下一次同步,我坐下来监视它。 在备份服务器上,我看到一个“.database_dump-201201119_182100.tlv1d4”文件,这意味着rsync正在进行中。 我看着文件,它增长,并通过它应该是500MB的增长。 它继续下载一个3.2GB的解压缩转储文件。 我login到networking服务器,并检查它正在同步的文件夹,文件夹中只有500MB bz2文件。 一旦3.2GB文件结束,它就继续下载500MB的bz2文件。 那么从哪里得到这个3.2GB的未压缩的转储文件? 就好像远程服务器在传输之前解压缩文件一样,将3.2GB转储文件传输到备份服务器,然后备份服务器再次将其压缩到500MB大小。 我用lsof,grep的文件名,find了rsync进程的PID。 从ps aux检查PID,确定它来自我的脚本。 我的脚本是一个非常简单的命令: #Rsync files, timeout set to 5 seconds until rsync -avv –progress –partial –timeout=5 "${SOURCE_USER}"@"${SOURCE_SERVER}":"${SOURCE_PATH}" "${TARGET_PATH}"; do echo "Didn't […]

用syslog远程logging

我有两台运行FreeBSD的机器,bsdclient和bsdserver。 我正在尝试设置远程日志logging,以便bsdclient将所有日志发送到bsdserver。 我在bsdclient上的syslog.conf是这样的 *.* @bsdserver.domain.com 在bsdserver上,syslog.conf被configuration为: +bsdclient.domain.com *.* /var/log/bsdclient.log bsdserver中的syslogd在rc.conf中启动为: syslogd_enable="YES" syslogd_flags="-a bsdclient.domain.com" 为了testing,在bsdclient我做了 logger -p auth.info "user authenticated" 我可以在bsdclient的/var/log/auth.log中看到条目,但bsdserver上的/var/log/bsdclient.log中没有任何内容。 我正在尝试将所有types的日志发送到bsdserver。 我犯了什么错误? 提前致谢

freebsd的pid文件没有创build

未在/ var / run文件夹中创build的Pid文件。 rc.d脚本: #!/bin/sh . /etc/rc.subr name=phpcgi rcvar=phpcgi_enable pidfile=/var/run/${name}.pid command=/usr/local/bin/php-cgi load_rc_config $name run_rc_command "$1" 它工作正常,但问题是与PID文件。 当我尝试“服务phpcgi停止”它找不到它。 权限是正确的。 我如何解决它?

FreeBSD Jail与Ruby多个web部署

我期待为ruby web应用程序提供一个免费的部署系统(基于rack而不是ruby on rails),所以基本上我会允许用户上传一个文件与他们的应用程序,应用程序将显示在http://user.domain。 COM 虽然我试图parsing什么是上传的应用程序唯一的方法,以确保这不会造成任何损害是孤立的。 我打算用FreeBSD jail来实现这个function。 第一个问题是我们会有一个IP。 我不确定这两种方法是否适用于所有需要在端口80上运行的多个应用程序: b </s> 标准的ruby安装模板可以通过http://erdgeist.org/arts/software/ezjail/完成 问题是如果这个设置是合适的,或者我需要一个nginx反向代理设置? 在监狱中运行的ruby应用程序将保证不会对其他用户/服务器造成任何损害吗? 用FreeBSD + jail实现这个多宿主环境的推荐设置是什么?