PowerShell 监控日志


前言

在Linux平台实时监控日志有tail命令,这个命令实时监控日志的时候非常好用,在windows平台也有类似的命令,能实现监控的功能


下面命令可供参考

一、实时查看文件

例如,发送到分析的图像服务器时,需要查看FTP日志文件。可以使用以下的方式来查看
# change directory to the folder containing the necessary file 
PS> cd E:\FTP\logs
# and then open the file for watching:
PS E:\FTP\logs> Get-Content ftplog.log -Wait -Tail 10

参数 “-Wait”,它保持文件打开,并将立即将新输出打印到命令窗口。
在这里插入图片描述

二、实时查看并过滤

可以将这种查看文件的方法与过滤打印内容的功能结合起来。例如,只想显示日志包含“info”或 IP地址的日志信息:

PS E:\FTP\logs> Get-Content ftplog.log -Wait -Tail 10 | Select-String "INFO"

在这里插入图片描述
所有行都包含“信息”,其他日志例如“错误”消息不再显示。。。

三、ping连接并检查特定端口是否可访问

如果您想检查客户端的特定端口是否可访问,可以尝试使用改命令。

Test-NetConnection <IPAddress> -Port <Port>

以下是命令的一个示例
在这里插入图片描述


总结

以上为windows 日志实时查看的命令
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以使用PowerShell监控文件夹,但要先确定你想要监控的文件夹路径,然后运行以下命令:Get-ChildItem -Path <文件夹路径> -Recurse -Force | Where-Object { $_.LastWriteTime -ge (Get-Date).AddMinutes(-5) } | Select-Object FullName, LastWriteTime。 ### 回答2: 在PowerShell中,可以使用`FileSystemWatcher`类来监控文件夹。以下是一个用于监控文件夹的基本示例: ```powershell $folderPath = "C:\Path\To\Folder" $watcher = New-Object System.IO.FileSystemWatcher $watcher.Path = $folderPath $watcher.IncludeSubdirectories = $true $watcher.EnableRaisingEvents = $true $onCreated = Register-ObjectEvent $watcher "Created" -Action { $eventArgs = $Args[1] $name = $eventArgs.Name $changeType = $eventArgs.ChangeType $timeStamp = $eventArgs.TimeGenerated Write-Host "文件或文件夹已创建:$name ($changeType) - $timeStamp" } $onChanged = Register-ObjectEvent $watcher "Changed" -Action { $eventArgs = $Args[1] $name = $eventArgs.Name $changeType = $eventArgs.ChangeType $timeStamp = $eventArgs.TimeGenerated Write-Host "文件或文件夹已更改:$name ($changeType) - $timeStamp" } $onDeleted = Register-ObjectEvent $watcher "Deleted" -Action { $eventArgs = $Args[1] $name = $eventArgs.Name $changeType = $eventArgs.ChangeType $timeStamp = $eventArgs.TimeGenerated Write-Host "文件或文件夹已删除:$name ($changeType) - $timeStamp" } $onRenamed = Register-ObjectEvent $watcher "Renamed" -Action { $eventArgs = $Args[1] $name = $eventArgs.Name $changeType = $eventArgs.ChangeType $timeStamp = $eventArgs.TimeGenerated Write-Host "文件或文件夹已重命名:$name ($changeType) - $timeStamp" } # 保持脚本运行 while ($true) { Start-Sleep -Seconds 1 } ``` 上述示例使用`FileSystemWatcher`类创建了一个文件系统监视器对象,然后设置了要监视的文件夹路径。可以使用`IncludeSubdirectories`属性来监视文件夹及其子文件夹中的更改。之后,为库中的不同事件(如创建、更改、删除和重命名)注册了事件处理程序,并在其内部写入相应的消息。最后,通过`Start-Sleep`命令使脚本一直运行,以便持续监测文件夹中的变化。 请注意,在实际使用中,您可能需要根据实际需求进行自定义操作,例如将文件夹更改通知写入日志文件或触发其他操作等。 ### 回答3: Powershell是一种强大的脚本语言和命令行工具,可用于监控文件夹的活动。下面是一个使用Powershell监控文件夹的基本步骤: 首先,需要定义要监控的文件夹路径。可以使用“$folderPath”变量来存储文件夹路径。 接下来,使用`Get-ChildItem`命令获取文件夹中的文件和子文件夹列表。使用`-Recurse`参数可以递归检查所有子文件夹。 然后,使用`Register-ObjectEvent`命令注册一个事件,以便在文件夹中的内容发生更改时发出信号。可以使用`-Action`参数指定处理更改事件的脚本块。 如需监控文件夹中的文件创建、修改和删除事件,可以使用以下示例脚本: ```powershell $folderPath = "C:\Path\To\Folder" $folderWatcher = New-Object System.IO.FileSystemWatcher $folderWatcher.Path = $folderPath $folderWatcher.IncludeSubdirectories = $true $folderWatcher.EnableRaisingEvents = $true $onChanged = Register-ObjectEvent $folderWatcher "Changed" -Action { $eventArgs = $EventArgs[1] $path = $eventArgs.FullPath $changeType = $eventArgs.ChangeType Write-Host "File $path was $changeType" } $onCreated = Register-ObjectEvent $folderWatcher "Created" -Action { $eventArgs = $EventArgs[1] $path = $eventArgs.FullPath Write-Host "File $path was created" } $onDeleted = Register-ObjectEvent $folderWatcher "Deleted" -Action { $eventArgs = $EventArgs[1] $path = $eventArgs.FullPath Write-Host "File $path was deleted" } # 等待监控事件发生,执行其他任务或休眠 ``` 通过运行这个脚本,Powershell监控指定文件夹中的文件更改、创建和删除事件,并在控制台上显示相应的消息。 上面的示例只是一种基本用法,你可以根据自己的需求进一步扩展和自定义监控功能。例子中采用的`Write-Host`命令只是将消息输出到控制台上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值