mazza84
Goto Top

Ordnerinhalt mit Blat.exe überprüfen

Hallo,

ich möchte gerne in regelmäßigen Abständen (alle 30 Minuten) einen Ordner überprüfen, ob sich der Inhalt verändert hat. Indem Ordner befinden sich *.log dateien. Sobald eine Log Datei indem Ordner erstellt wurde, möchte ich gerne den Inhalt der Log-Datei an eine E-mail Adresse versenden.
Ist dies mit Blat.exe möglich oder empfehlt ihr ein anderes Tool?
Vielen Dank für eure Antworten

Content-Key: 136050

Url: https://administrator.de/contentid/136050

Printed on: April 24, 2024 at 06:04 o'clock

Mitglied: 60730
60730 Feb 16, 2010 at 09:49:41 (UTC)
Goto Top
Moin,

blat ist ein Kommandozeilenmailer den man empfehlen kann.

Da du nicht schreibst - ob Ihr einen internen Mailserver habt, ist diese Empfehlung nicht aussagekräftig.

Und das man sich um den Blat/Bmail aufruf ein paar Zeilen Batch stricken muß - wäre eh klar.

Und zur Frage wie - in der Suche sollten so einige Treffer zu finden sein.

Gruß
Member: micneu
micneu Feb 16, 2010 at 11:02:00 (UTC)
Goto Top
schreib doch mal wie ist der dateiname?
ist der dateiname immer in einem bestimmten format z.b. log-xyz-abc.log?
auf welchem windows wird es laufen?
kannst du powershell einsetzen?
oder nur die cmd.exe?


gruß michael
Member: mazza84
mazza84 Feb 16, 2010 at 11:17:55 (UTC)
Goto Top
der Dateiname lautet: BulkImport-+Datum+Uhrzeit.log
Es soll auf einer Windows 2003 Server 32-Bit Version laufen.

Powershell kann eingesetzt werden, ich habe allerdings keine Erfahrungen damit.


Wir setzen einen internen Mailserver Lotus Notes 6.5 ein.
Mitglied: 60730
60730 Feb 16, 2010, updated at Oct 18, 2012 at 16:41:10 (UTC)
Goto Top
Servus,

unter "Anleitungen zum Thema" findet man Batch Script zum erkennen einer Datei nach Datum und Übergabe des entsprechenden Dateinamens der aktuellsten Datei neuesten Datums und noch xxx weiteres.

Ich dachte, du hättest den Tipp meinerseits mit der Suche verstanden? bzw. ists ja nur ein paar cm mit dem Mausscroller nach unten und einen Klick weit weg...
Member: micneu
micneu Feb 16, 2010 at 11:39:58 (UTC)
Goto Top
ich habe es soweit erstellt unter windows 7:
nutze die powershell:

#   **************************************************************
#    einmal auf der powershell ausgeführt werden
#     "Set-ExecutionPolicy Unrestricted" 
#   **************************************************************
#   * Erstellt M.N. - POWERSHELL / Entwicklung   16.02.2010                   *
#   **************************************************************
$Mail1 = "test@test.de"  
$smtp = "192.168.0.228"  
$subj = "Test nachricht"  
$x="-noh2 -p default"  

$file = Get-ChildItem "M:\" -filter *.log | sort LastWriteTime -descend  
$filemail = $file | select -first 1
$filemail2 = $filemail | Select-Object Name
echo $filemail2
blatwin $filemail2 -to $eMail1 -f $smtpemail $subj $x

das mit dem mailen habe ich jetzt nicht getestet.
warscheinlich soll noch hinterlegt werden welche datei schon gesendet wurde?
könnte noch eingebaut werden....

gruß michael
Member: micneu
micneu Feb 17, 2010 at 11:05:36 (UTC)
Goto Top
habe es noch etwas optimiert.....
blatwin.exe kann nicht die daten verarbeiten die aus der powershell kommen
deshalb dieser ansatz...
#   **************************************************************
#    einmal auf der powershell ausgeführt werden
#     "Set-ExecutionPolicy Unrestricted"  
#   **************************************************************
#    sendmail funktion von 
#    http://www.roland-ehle.de/archives/437
#   **************************************************************
#   * Erstellt M.N. - POWERSHELL / Entwicklung   17.02.2010                   *
#   **************************************************************
# variablen deklarieren
$smtpserver = "192.168.0.228"  
$fromemail = "backup@xxx.de"  
$toemail = "test@mail.de"  
$betreff = "test mail mit text"  
$ziel = "c:\"  
$endung = "*.txt"  
$file = Get-ChildItem $ziel -filter $endung | sort LastWriteTime -descend
$filemail = $file | select -first 1
$filenamefull = $filemail.fullName
echo $filenamefull
$body = Get-Content "$filenamefull"  
sendmail $body $smtpserver $fromemail $toemail $betreff

function sendmail($body,$smtpserver,$fromemail,$toemail,$betreff) 
    {
    $SmtpClient = new-object system.net.mail.smtpClient
    $MailMessage = New-Object system.net.mail.mailmessage
    #$att = new-object Net.Mail.Attachment($filename)
    $SmtpClient.Host = "$smtpserver"  
    $mailmessage.from = "$fromemail"  
    $mailmessage.To.add("$toemail")  
    $mailmessage.Subject = “$betreff"   
    $MailMessage.IsBodyHtml = $true
    $mailmessage.Body = $body
    $smtpclient.Send($mailmessage)
}

gruß michael