Weil das Programm ja Autostart läuft, und der User den PC ja jederzeit herunterfahren kann.
Und dann müssen alle Files wieder gelöscht sein.
Deshalb muss während der Sleep Zeit alles weg sein
Beiträge von Orion
-
-
Ich lagere Binärstrangs immer in include Dateien aus, zwecks Übersicht. -
Also...
Erstmal danke für das Feedback.1.:
Es ist im include 7zip.au3 enthalten und beinhaltet den Binärstrang zur 7-Zip.exe.2.:
Hat was mit dem ersten zu tun3.:
Nun ja stimmt das habe ich von C++4.:
Also bei mir geht es.
Doch nicht stimmt, ich habs nur mit einer Datei getestet.
Ja ich meinte $iCounter += 1Und sonst:
Danke Dein Lob beutet mir viel -
Also eine Live Suche mit Autovervollständigung?
Autoit Skripte bitte mit:
[autoit]HierSkript
[/autoit]posten
-
Könnte sein
Aber ich geh jetzt erst mal schlafen. Bis Morgen werden sich wahrscheinlich auch die anderen Fragen geklärt haben und dir geholfen sein. -
Also das wird mir jetzt zu kompliziert
Was den rechtlichen Teil angeht, steige ich hier erst mal aus der Diskussion aus. -
Dann werden es aber ja so viele sein, dass du sie noch von Hand bestätigen kannst.
-
Dachte ich zuerst auch, aber er spricht von mehreren Webseiten.
Denke (hoffe) ich -
Kannst du die Seite mal nennen?
-
Hi,
Das hier wurde aus diesem hier
Da trotz mehreren Festplatten durch Fehler von Windows (meist ausgelöst durch mich ) meine ganzen Skripte bereits mehrmals gelöscht wurden, hatte ich die Idee für dieses Skript.
Die Funktionen bestehen:
- Im sichern meiner Skripte (wer hätte das gedacht)
- Dabei sichert es nur die für mich relevanten Daten.
- Die Skripte werden als Zip oder sequenzielle Tar komprimiert auf einen FTP Server hochgeladen werden.
- Dateien die älter als x Tage sind werden automatisch gelöscht.
- Die Zeit bis zum ersten Backup und den darauf folgenden kann eingestellt werdenDa ich dieses Skript eigentlich nur für mich gecoded habe, stelle es hauptsächlich hier rein, um Feedback und vielleicht Verbesserungsvorschläge zu bekommen (Kürzungen,Optimierungen, etc.)
Sollte es dennoch jemand brauchen, kann er es gerne benutzen. Mann muss dann ggf. noch die Pfade anpassen.
Hier nun das Skript:
Spoiler anzeigen
[autoit]; Copyright by Orion (autoit.de)
[/autoit] [autoit][/autoit] [autoit]; THX [user='66']BugFix[/user] (_GetFilesFolder_Rekursiv.au3) & UEZ (_Bese64String)
[/autoit] [autoit][/autoit] [autoit]#include <_GetFilesFolder_Rekursiv.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <FTPEx.au3>
#include <misc.au3>
#include <Date.au3>
#include <Crypt.au3>
#include <7zip.au3>_Singleton(@ScriptName) ;Nur eine Instanz des Skripts erlauben
[/autoit] [autoit][/autoit] [autoit]
OnAutoItExitRegister("_Exit") ;Wenn Skript beendet, dann führe die Function _Exit() aus#region - Konstanten
[/autoit] [autoit][/autoit] [autoit]
Global Const $sOrdner = "Skripte" ;Ordnername
Global Const $pPath = @DesktopDir & "\" & $sOrdner ;Pfad zum Ordner
Global Const $sServername = "***" ;Addresse des FTP Server
Global Const $sBenutzername = "***" ;Benutzername für den FTP Server
Global Const $sPasswort = "***" ;Passwort für den FTP Server
Global Const $iZeit = 30 ;Backupinterval in Minuten
Global Const $iStartzeit = 30 ;Zeit bis zum ersten Backup in Minuten
Global Const $iTage = 30 ;Tage bis alte Skripte gelöscht werden
Global Const $bTar = False ;Tar anstatt Zip komprimierung verwenden (default Zip)
#endregion - KonstantenGlobal $sDateiendung = ".zip"
[/autoit] [autoit][/autoit] [autoit]
If $bTar Then $sDateiendung = ".tar"Opt("TrayIconHide", 1) ;Icon verstecken
[/autoit] [autoit][/autoit] [autoit]
Sleep(($iStartzeit * 60 * 1000)) ;Zeit bis zum ersten Backup in Minuten
_base64string() ;7-Zip aus dem Binärstrang nach @TempDir speichernWhile 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Opt("TrayIconHide", 0)
_Save()
Opt("TrayIconHide", 1)
Sleep(($iZeit * 60 * 1000)) ;Backupinterval in Minuten
WEndFunc _Save()
[/autoit] [autoit][/autoit] [autoit]
TrayTip("Saver", $sOrdner & " werden komprimiert & hochgeladen...", 10, 1)
Sleep(2000)
TrayTip("", "", 0)
_TmpCreate()
If _SaveToInet() = 0 Then
TrayTip("Error", "Abgleich mit dem Server Fehlgeschlagen!", 30, 3)
Sleep(2500)
Return
EndIf
TrayTip("", "", 0)
Sleep(300)
TrayTip("Saver", "Erfolgreich hochgeladen", 30, 1)
Sleep(2250)
TrayTip("", "", 0)
EndFunc ;==>_SaveFunc _TmpCreate()
[/autoit] [autoit][/autoit] [autoit]
DirRemove(@TempDir & "\" & $sOrdner, 1)
DirCreate(@TempDir & "\" & $sOrdner)
DirCopy($pPath & "\Meine Skripte", @TempDir & "\" & $sOrdner & "\Meine Skripte", 1)
DirCreate(@TempDir & "\" & $sOrdner & "\Fremde Skripte")
DirCopy($pPath & "\Fremde Skripte\UDFs", @TempDir & "\" & $sOrdner & "\Fremde Skripte\UDFs", 1)
Local $aHidefiles = _GetFilesFolder_Rekursiv(@TempDir & "\" & $sOrdner & "\", "*", 0)
For $i = 1 To $aHidefiles[0]
If StringRight($aHidefiles[$i], 2) = "db" Then FileDelete($aHidefiles[$i])
Next
EndFunc ;==>_TmpCreateFunc _SaveToInet()
[/autoit] [autoit][/autoit] [autoit]
Local $hFtpopen = _FTP_Open(Random(1, 1000, 1), $INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY)
Local $hFtpconnect = _FTP_Connect($hFtpopen, $sServername, $sBenutzername, $sPasswort, 0)
If $bTar Then RunWait(@ComSpec & " /c " & @TempDir & "\7za.exe " & "a -ttar """ & $sOrdner & " vom " & @MDAY & "." & @MON & "." & @YEAR & ".tar"" -r0 " & @TempDir & "\" & $sOrdner & "\*", @TempDir, @SW_HIDE)
If Not $bTar Then RunWait(@ComSpec & " /c " & @TempDir & "\7za.exe " & "a -tzip -mx9 """ & $sOrdner & " vom " & @MDAY & "." & @MON & "." & @YEAR & ".zip"" -r0 " & @TempDir & "\" & $sOrdner & "\*", @TempDir, @SW_HIDE)
If _FTP_FilePut($hFtpconnect, @TempDir & "\" & $sOrdner & " vom " & @MDAY & "." & @MON & "." & @YEAR & $sDateiendung, "/Autoit (AutoBackUp)/" & $sOrdner & " vom " & @MDAY & "." & @MON & "." & @YEAR & $sDateiendung) = 0 Then Return 0
If _FTP_DirSetCurrent($hFtpconnect, "/Autoit (AutoBackUp)/") = 0 Then Return 0
Local $aDateien = _FTP_ListToArray($hFtpconnect, 2)
$iCounter = 0
For $i = 1 To $aDateien[0]
$aStartdatearray = StringRegExp($aDateien[$i],"(\d{2})\.(\d{2})\.(\d{4})",3)
$sStartdate = $aStartdatearray[2] & "/" & $aStartdatearray[1] & "/" & $aStartdatearray[0]
If Abs(_DateDiff("D", $sStartdate, _NowCalcDate())) >= $iTage Then
_FTP_FileDelete($hFtpconnect, $aDateien[$i])
$iCounter += 1
EndIf
Next
If $iCounter = 1 Then
TrayTip("Saver", "Es wurde " & $iCounter & " Datei, die älter war als " & $iTage & " Tage gelöscht", 30, 2)
Sleep(5500)
ElseIf $iCounter > 1 Then
TrayTip("Saver", "Es wurden " & $iCounter & " Dateien, die älter waren als " & $iTage & " Tage gelöscht", 30, 2)
Sleep(5500)
EndIf
If _FTP_Close($hFtpopen) = 0 Then Return 0
If Not $bTar Then FileDelete(@TempDir & $sOrdner & " vom " & @MDAY & "." & @MON & "." & @YEAR & ".zip")
If $bTar Then FileDelete(@TempDir & $sOrdner & " vom " & @MDAY & "." & @MON & "." & @YEAR & ".tar")
Return 1
EndFunc ;==>_SaveToInetFunc _Exit()
[/autoit]
FileDelete(@TempDir & "\7za.exe")
EndFunc ;==>_ExitIm Anhang findet ihr die UDF und 7-Zip
lg Orion
-
Du hast ja Recht
-
Nur weil du keine Lust hattest eine Erklärung zu schreiben Zu einer Lösung gehört (bei mir) auch eine Erklärung
-
Das wollt ich auch gerade schreiben, nur noch mit Erklärungen
War aber zu langsam
-
Ich glaube, der ist schon geschwungen.
Ist nicht sein erster Beitrag dieser Art. -
Zitat von chesstiger
Bei Run kannst du selber festlegen, mit welchem Programm eine Datei geöffnet wird.
Run("notepad.exe test.bmp") würde die Bilddatei test.bmp mit dem Editor öffnen.
ShellExecute("test.bmp") würde jedoch die Bilddatei mit dem Standard-Bildanzeigeprogramm öffnen.Kommt immer auf den Verwendungszweck an.
Allerdings verwendet man bei Executables (=Ausführbare Dateien) normalerweise Run.
Zitat von chesstiger
Run ist letztendlich nichts anderes als ShellExecute.
Der Unterschied ist halt, dass bei ShellExecute der Explorer (Shell) bestimmt, wie die Datei behandelt/ausgeführt (Execute) wird.
Wenn du also z.B. mit ShellExecute eine Internetadresse öffnest, wird diese vom Explorer mit dem Standardbrowser geöffnet.Run hingegen kann wirklich nur ausführbare Dateien ausführen.
Steht das nicht schon hier?
-
Oh ja ....
Ich habe nur schnell den Thread überflogen, und es sah so aus als ob er ihn Spliten will.Mein Fehler
-
[autoit]Probier mal:StringSplit("Dein String","|")
[/autoit]//Edit: Sorry falsch gelesen
-
Bei so dummen Sprüchen, wird dir sowieso keiner helfen. Es hilft auch nicht wenn du den Thread jede Minute Pusht
-
Zitat von R4zor
Ich werde nicht sagen was für Accounts das sind.
Dann wird dir wohl auch keiner Helfen...
-
Wie autoBert schon gesagt hat, hier kannst du Tipps und Unterstüzung bekommen. Aber dein Skript für dich schreiben wird wohl niemand.
Zitat von autoBertDa ich auf Grund der Spaltenüberschriften einen gewerblichen Hintergrund sehe solltest du in http://www.autoit.de/index.php?page=Board&boardID=35 ein Thema erstellen, sollte ich mich irren geht auch http://www.autoit.de/index.php?page=Board&boardID=52 .