1. In diesem Bereich findet ihr Tutorials und Reviews. Die Forenrechte zur Erstellung neuer Themen sind hier eingeschränkt, da Problemdiskussionen bitte in den übrigen Forenbereichen auf Apfeltalk zu führen sind. Wer ein Tutorial oder Review einstellen möchte, kann im Unterforum "Einreichung neuer Tutorials" ein neues Thema erstellen. Die Moderatoren verschieben den Beitrag dann in den passenden Bereich.
    Information ausblenden
  2. Am Dienstag dem 21.05.19 ab ca. 9:30 Uhr werden wir eine größere Server-Wartung vornehmen. Das Forum und das Magazin werden bis Mittag (wenn alles gut geht) nicht erreichbar sein.
    Information ausblenden

Ordnerüberwachung mit Ordneraktion

Dieses Thema im Forum "Einreichung neuer Tutorials" wurde erstellt von Kernelpanik, 08.03.19.

  1. Kernelpanik

    Kernelpanik Herrenhut

    Dabei seit:
    05.03.04
    Beiträge:
    2.267
    Hallo Leute,
    ich möchte der Community eines meiner Applescripts zur Verfügung stellen. Es überwacht eingehende und ausgehende Files in einem Ordner und schreibt ein Logfile in "~/Library/Logs/FolderActivity/" Die eingehenden Files sind mit einem "+" mit nachstehendem Datum und File Pfad gekennzeichnet ebenso die ausgehenden Files die aber ein "-" vorangestellt haben. Das Script muß einfach in Applescript-Editor gespeichert werden und als Ordneraktion für einen beliebigen Ordner gewählt werden.

    Code:
    on removing folder items from getFolder after losing removItems
        writeLog(getFolder, removItems, "- ")
    end removing folder items from
    on adding folder items to getFolder after receiving newItems
        writeLog(getFolder, newItems, "+ ")
    end adding folder items to
    
    on writeLog(getFolder, folderItems, y)
        set {d, fiList} to {do shell script "date '+%d.%m.%Y %T '", ""}
        try
            tell application "System Events"
                set fiNam to name of getFolder & "_Activity.log"
                repeat with x in folderItems
                    set fiList to fiList & y & d & POSIX path of x & return
                end repeat
            end tell
            do shell script "mkdir -p ~/Library/Logs/FolderActivity;echo " & quoted form of fiList & " >> ~/Library/Logs/FolderActivity/" & quoted form of fiNam
        on error erstrg
            display alert "FolderActivity.log.scpt" message erstrg as critical
        end try
    end writeLog
    Ich habe ein Problem mit High Sierra entdeckt. Hier die Korrektur dafür:
    Code:
    on removing folder items from getFolder after losing removItems
        writeLog(getFolder, removItems, "- ")
    end removing folder items from
    on adding folder items to getFolder after receiving newItems
        writeLog(getFolder, newItems, "+ ")
    end adding folder items to
    
    on writeLog(getFolder, folderItems, y)
        set {d, fiList} to {do shell script "date '+%d.%m.%Y %T '", ""}
        try
            tell application "System Events"
                set foNam to name of getFolder & "_Activity.log"
            end tell
            repeat with x in folderItems
                set fiList to fiList & y & d & POSIX path of x & return
            end repeat
            do shell script "mkdir -p ~/Library/Logs/FolderActivity;echo " & quoted form of fiList & " >> ~/Library/Logs/FolderActivity/" & quoted form of foNam
        on error erstrg
            display alert "FolderActivity2.log.scpt" message erstrg as critical
        end try
    end writeLog
     
    #1 Kernelpanik, 08.03.19
    Zuletzt bearbeitet: 15.03.19