Articles of linux

使用tail -F来监视巨大的文件

我遇到了一个需求,我需要持续监视一个预定义的模式(如错误消息)的实时(附加)文件,我打算使用tail -F [FileName] | grep "pattern" tail -F [FileName] | grep "pattern"并把它放在一些shell脚本来通知我。 我关心的是如何为一个大文件工作,说50 GB的大小,我想了解这种解决scheme将消耗多less系统资源。 总之,从资源利用的angular度来看,tail是如何工作/处理文件的。

删除7天以前的FTP数据的脚本

目前我正在使用以下简单的线路脚本将服务器目录备份到远程FTP位置 # Take backup to remote location ncftpput -z -R -uusername -ppassword ftp.example.org /destination/directory /source/directory 现在,我只需要从超过7天的远程FTP删除备份。 在服务器内的正常目录位置,我简单地用下面的脚本来完成 # Delete backups older than 7 days find /backup -name '*' -type d -mtime +6 -exec rm -rfv "{}" \; 但是,运行相同的FTP不工作,有什么办法可以删除超过7天的FTP远程位置数据? 可能是通过lftp或任何其他命令

任何安装Linux审计的副作用?

我正在安装(或即将安装)审计作为这个问题的解决scheme: 有一个Linux日志,当用户由于权限拒绝访问文件 。 我只是想知道在生产环境中安装审计是否有副作用。 我也想知道是否会影响类似CloverETL的东西?

通过networking复制大文件的性能下降(scp)

我有一个我用作文件服务器的Linux机器。 我有一个每月的cron工作,加快了数据驱动器的内容,然后通过scp复制到另一台机器,以保持安全。 由此产生的tarball大小约为300GB,通常需要大约一天半时间才能完成复制(通过802.11g Wi-Fi连接)。 今天我注意到我的备份工作还没有完成,而且已经运行了3天。 检查目标机器,我可以看到只有大约三分之一的数据已被复制到目前为止,它似乎正在以<300KB /秒的速度增长。 在两台机器之间使用iperf ,我可以看到我的networking吞吐量大约是20Mbits / sec,这大约与802.11g连接相当。 在源机器上使用dd if=srcfile of=/dev/null ,我可以从源驱动器(外部USB驱动器)读取大约45MB /秒的数据。 在目标机器上使用dd if=/dev/zero of=/destdrive/tmp.dat ,我可以向目标驱动器(内部SATA驱动器)写入大约30MB / sec。 似乎有点缓慢的SATA驱动器,但不是不合理的缓慢(当然不是300KB /秒慢)。 所以我似乎排除了两端的networking吞吐量和驱动器吞吐量,那么我还能从哪里find瓶颈的来源?

RHEL 7.3 syslog输出文本正在打包,没有新行

当我cat一个文件,比如/var/log/messages ,输出不会被分隔成新的行,它只是一个很难被读取的包裹文本的一个块,只是消息之后没有新行。 是否有一个设置会导致这种情况发生,这是发生在我们的几个服务器上。 举个例子 当我运行cat /var/log/messages我希望看到类似于: 2016-12-15T11:22:53.212028-06:00 wilkestest.com ntpd[27156]: 0.0.0.0 c615 05 clock_sync 2016-12-15T11:22:54.223136-06:00 wilkestest.com ntpd[27156]: 0.0.0.0 c618 08 no_sys_peer 2016-12-15T11:25:06.228173-06:00 wilkestest.com ntpd[27156]: 0.0.0.0 0628 08 no_sys_peer 2016-12-15T11:25:12.233785-06:00 wilkestest.com ntpd[27156]: 0.0.0.0 0613 03 spike_detect +0.294933 s 2016-12-15T11:29:41.762442-06:00 wilkestest.com kernel: [212901.427412] FS-Cache: Loaded 2016-12-15T11:29:41.771893-06:00 wilkestest.com kernel: [212901.439186] FS-Cache: Netfs 'nfs' registered for caching 2016-12-15T11:29:41.775520-06:00 wilkestest.com kernel: […]

有关cron工作的最佳实践

*/2 * * * * /etc/cronjobs/check_nginx.sh */2 * * * * /etc/cronjobs/check_php-fpm.sh */2 * * * * /etc/cronjobs/check_named.sh */2 * * * * /etc/cronjobs/check_vsftpd.sh */2 * * * * /etc/cronjobs/check_mariadb.sh 嘿家伙,这些线是脚本,检查一些服务是否正常运行,但我不知道如果2分钟足以保证稳定性,或者即使对于一个小vps(512MB内存,1个vCPU)太多。 当我为他们设置* / 2时,他们会同时被执行? 我知道这就像一个队列,但我不确定这是否是一个好的做法。 感谢您的关注!

如何摆脱“推迟(-52):重试时间尚未达到”exim4日志?

我在exim4的mainlog中有这样一个日志。 我所做的所有exim4只是学习,所有邮件都是假的。 现在我尝试pipe理频繁出现的日志: 2016-12-20 14:28:01 1cJ2UW-0006Yq-3m == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached 2016-12-20 14:28:01 1cJ8rt-0001Ur-Qj == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached 2016-12-20 14:28:01 1cJ2YZ-0000W9-W5 == [email protected] R=manualrouteadam T=maildir_home defer (-52): Retry time not yet reached 2016-12-20 14:28:01 1cIsqP-0002Xn-KY == [email protected] R=dnslookup T=remote_smtp defer (-53): retry […]

Azure RM NSG端口转发不起作用

我有一个Debian 6.x框,我需要移动到Azure。 在移动之前,我确定SSH在任何端口上都在监听,Apache也一样。 我的NSG拥有所有正确的端口(现在是22,443)。 我上传了VHD,然后使用了下面的PowerShell命令来创build基于VHD的VM: $vnet = get-AzureRmVirtualNetwork -Name $VnetName -ResourceGroupName $VnetRG $subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name "$SubnetName" -VirtualNetwork $vnet $pip = Get-AzureRmPublicIpAddress -Name "$pipName" -ResourceGroupName $resourceGroupName $NSG = Get-AzureRmNetworkSecurityGroup -Name "$NSGName" -ResourceGroupName $resourceGroupName $nic = New-AzureRmNetworkInterface -ResourceGroupName $resourceGroupName -Name $nicName -Subnet $subnet -Location $location -PrivateIpAddress $newVMIP -DnsServer $dnsServer1,$dnsServer2 -PublicIpAddress $pip -NetworkSecurityGroup $NSG $newVM = New-AzureRmVMConfig […]

系统日志文件小于SystemMaxFileSize

我有一个运行CentOS 7的系统,有超过1T的可用磁盘空间。 systemd版本是219.我已经使用以下设置configuration了journald: Storage=persistent SplitMode=none SystemMaxUse=50G SystemMaxFileSize=1G #MaxFileSec=1month (default) 然而,由此产生的日志文件小于1G,他们被削减了大约500M,在这个屏幕截图中可以看到。 我正在对系统进行强烈的testing,每天日志填满1G以上,所以不是MaxFileSec正在踢。我注意到,组ID是不同的文件,也许这是一个线索。 但是,如截图中的时间戳所示,顶部的两个日志文件似乎不再被填充。 我的问题是,为什么日记文件的大小没有达到configuration的1G? 编辑:更正了参数名称,如下面的Mark所指出的那样,它在系统上是正确的。

我如何确定一个iscsi设备是否是一个已安装的Linux文件系统?

编辑:这是在Debian 7系统(更准确地说Proxmoxpipe理程序https://www.proxmox.com/en/)2.6.32-48-pve内核。 我有一个磁盘分区作为我的后端infiniband存储iscsi目标。 我已经在发起者本地安装了目标(on /mnt/iscsi )。 如果我需要重启启动器,我需要卸载/mnt/iscsi ,然后在重新引导之前注销门户(至less在几年前就是这样,自从我和iscsi一起工作了一段时间)。 我如何确定哪些文件系统挂载在iscsi上? 常规mount命令只显示由启动程序创build的块设备,例如: /dev/sdc 。 /dev/sdc on /mnt/iscsi type ext4 (rw,relatime,barrier=1,data=ordered) 我想在重新启动之前自动执行卸载/注销,但是这些信息不足以确定所涉及的文件系统是否需要通过iscsiadm … –logout运行iscsiadm … –logout卸载后。