在 IIS 8.5 上监控 FTP 并在上传时运行脚本

在 IIS 8.5 上监控 FTP 并在上传时运行脚本

我在 Windows Server 2012 R2 上运行 IIS 8.5。是否可以监视 ftp 帐户,如果上传了某种类型的文件(例如 *.jpg 或 *.png),是否自动启动 powershell 脚本来压缩/优化文件?

谢谢。

编辑。我​​一直在尝试使用 System.IO.FileSystemWatcher 对象来监视文件夹,然后在给定时间批量优化它们。但我不太喜欢这个想法(请参阅下面的评论)。但这是我目前得到的结果。

监控脚本

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\WebSites"
$watcher.Filter = "*.jpg"
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true  

$action = { $path = $Event.SourceEventArgs.FullPath
            $changeType = $Event.SourceEventArgs.ChangeType
            $logline = "$(Get-Date), $changeType, $path"
            Write-Host $path, $changeType
            Add-content "C:\Testing\log.txt" -value $path
            }    

Register-ObjectEvent $watcher "Created" -Action $action
Register-ObjectEvent $watcher "Changed" -Action $action

while ($true) {sleep 5}

然后,该脚本将在给定时间通过任务计划程序运行:

$A = $(foreach ($line in Get-Content "C:\Testing\log.txt")
{$line}) | sort | Get-Unique
Clear-Content "C:\Testing\log.txt"

& 'E:\Program Files\FileOptimizer\FileOptimizer64.exe'  $A /JPEGCopyMetadata=false/JPEGUseArithmeticEncoding=false/JPEGAllowLossy=true/ProcessPriority=128/DoNotCreateBackups=true

答案1

为感兴趣的人提供更新。考虑使用文件服务器资源管理器来监控这一点。

提出了另一个问题,但我现在就结束这个问题。

相关内容