Nicht benötigte Scripte löschen bzw. verschieben

Hi,

scheinbar durch „Unachtsamkeit“ :eek: habe ich viele unbenötigte Scripte unter „scripts“. Leider haben diese sich über diverse Backup-Verläufe auch „verteilt“ :banghead:
Kann ich denn in IPS alle genutzten Scripte ermitteln (Dateinamen, in der regel die 5-stellige IPS-ID), damit ich diese dann nach deleted verschieben kann?

Hat jemand eine Idee? :wink:

Schönen sonnigen Samstag
Ciao
HerbertF

Schau mal hier , war gestern ein Thema.
https://www.symcon.de/forum/threads/41181-alte-verlorene-Scripte-identifizieren?p=399184#post399184

Besten Dank :smiley: Ich hatte die Suchfunktion benutzt :rolleyes:

Habe es minimal für Raspberries angepasst:

[b]<?php[/b]    
    $loeschen=true;
    $pfad = IPS_GetKernelDir()."scripts"; 
    $handle=opendir ($pfad);     
    while ($datei = readdir ($handle))  
        { 
        if(strpos($datei,".ips.php")!==false)  
            { 
                $datei =explode(".",$datei); 
                $files[]=$datei[0];   
            } 
        } 
    closedir($handle); 
     
    $scripts = IPS_GetScriptList(); 
     
    echo "
Anzahl der Files mit ?????.ips.php  : ". count($files); 
    echo "
Anzahl der Scripte in IPSymcon      : ". count($scripts); 
     
    foreach($files as $file) 
        { 
        if ( is_numeric($file) ) 
            { 
            $key = array_search($file, $scripts); 
            if ( $key === false ) 
                if($loeschen==false) {
                    echo "
".$file.".ips.php Fehler";
                }
                else {
                    //echo "
$file.ips.php /var/lib/symcon/scripts/deleted/$file.ips.php";
                    exec("sudo mv /var/lib/symcon/scripts/$file.ips.php /var/lib/symcon/scripts/deleted/$file.ips.php");
                    IPS_LogMessage("Scripte aufräumen","Unbenutztes Script wurde nach /var/lib/symcon/scripts/deleted/$file.ips.php verschoben (".$_IPS['SELF'].")");
                   
                } 
            } 
             
        } 
       
[b]?>[/b]

und für Windows auch:

[b]<?php[/b]    
    $loeschen=true;
    $pfad = IPS_GetKernelDir()."scripts"; 
    $handle=opendir ($pfad);     
    while ($datei = readdir ($handle))  
        { 
        if(strpos($datei,".ips.php")!==false)  
            { 
                $datei =explode(".",$datei); 
                $files[]=$datei[0];   
            } 
        } 
    closedir($handle); 
     
    $scripts = IPS_GetScriptList(); 
     
    echo "
Anzahl der Files mit ?????.ips.php  : ". count($files); 
    echo "
Anzahl der Scripte in IPSymcon      : ". count($scripts); 
     
    foreach($files as $file) 
        { 
        if ( is_numeric($file) ) 
            { 
            $key = array_search($file, $scripts); 
            if ( $key === false ) 
                if($loeschen==false) {
                    echo "
".$file.".ips.php Fehler";
                }
                else {
                    $Befehl="move C:\\IP-Symcon\\scripts\\$file.ips.php  C:\\IP-Symcon\\scripts\\deleted\\$file.ips.php";
                    echo ("
$Befehl");
                    echo shell_exec("$Befehl");
                    IPS_LogMessage("Scripte aufräumen","Unbenutztes Script wurde nach C:\\IP-Symcon\\scripts\\deleted\\$file.ips.php verschoben (".$_IPS['SELF'].")");
                    
                } 
            } 
             
        }       

[b]?>[/b]