stefankittel
Goto Top

Windows-Datei-Sync-Tool mit Zeitfenstern gesucht

Hallo,

ich muss einen relativ großen Datenblock über eine nur bedingt schnelle LAN-Verbindung schicken.
Da kommt im Mai eine LWL-Verbindung hin, aber bis dahin benötige ich eine Zwischenlösung.

Es läuft aktuell ein einfaches Robocopy. Aber das Kopieren tagsüber stört.
Es soll also nur von 17:00 - 06:00 laufen.

Es gibt ja nun solche Tools wie Sand am Meer mit Zeitschaltung.
Aber diese Zeitschaltung ist immer nur für den Start. Er soll zur Endzeit direkt aufhören und den Vorgang abbrechen.
Ja, dann ist halt eine halbe Datei.

Ich auch was mit Taskkill basteln oder einen Dienst stoppen, aber schön ist das auch nicht.

Jemand eine Empfehlung?

Danke
Stefan

Content-ID: 672118

Url: https://administrator.de/forum/windows-datei-sync-tool-mit-zeitfenstern-gesucht-672118.html

Ausgedruckt am: 26.03.2025 um 09:03 Uhr

Looser27
Looser27 24.03.2025 um 11:07:50 Uhr
Goto Top
Moin,

schau Dir mal FreeFileSync an.

Gruß

Looser
Lochkartenstanzer
Lochkartenstanzer 24.03.2025 aktualisiert um 11:16:38 Uhr
Goto Top
Moin,

Ich hätte da jetzt ganz normal eine batch-datei mit rsync in die Aufgabenplanung genommen und dort eine maximal Laufzeit eingestellt, d.h. Aufgabe falls Auführung länger als X h) aktivieren.

lks
NordicMike
NordicMike 24.03.2025 um 11:13:29 Uhr
Goto Top
Ich würde es dauerhaft aber gedrosselt durchlaufen lassen, dann störst du niemanden mehr. Das kommt im Endeffekt auf die selbe Kopierdauer, als wenn du mit Pausen arbeitest.
Spirit-of-Eli
Spirit-of-Eli 24.03.2025 um 11:19:11 Uhr
Goto Top
Ich schlage auch rsync vor.
Oder das Konstrukt, was Frank hier letztens vorgestellt hat klang auch viel versprechend.
Koehnsen
Koehnsen 24.03.2025 aktualisiert um 11:20:21 Uhr
Goto Top
FreeFileSync nutze ich auch für Syncs, welche als Batch gespeichert sind und in Verbindung mit "System Scheduler Professional" in der Nacht auf den Weg gebracht werden.
Vision2015
Vision2015 24.03.2025 um 11:32:35 Uhr
Goto Top
Moin...

Er soll zur Endzeit direkt aufhören und den Vorgang abbrechen.
wo ist daa der Sinn? dein Backup oder Copy wird ja nie vollständig sein!

Frank
kreuzberger
kreuzberger 24.03.2025 aktualisiert um 12:59:28 Uhr
Goto Top
@StefanKittel

eigentlich suchst du nach robocopy.

Du kannst es einerseits über die Aufgabenplanung zeitgesteuert starten, zudem hat es aber auch selbst den Parameter bzw. die Funktion

/mon

Überwachung. Ggf. hilft das weiter:

https://ro-kom.de/robocopy-zeitgesteuert-laufen-lassen/

Kreuzberger
DivideByZero
DivideByZero 24.03.2025 um 13:05:55 Uhr
Goto Top
Moin,

bvckup2 macht, was Du suchst. Es gibt da einen in den erweiterten Einstellungen verfügbaren Parameter Quiet Time.

Quiet times (QT) are configured on per-backup basis. It's possible to have more than one QT specified for a backup job.
When a job enters a quiet period, the backup engine will not schedule any backup runs until the period is over. If a backup is running when a quiet period starts, it will continue running as usual, to completion.
Additionally, starting with Release 82 it is possible to have the program cancel the job if it's running upon entering a quiet period.
A job in a quiet period can still be run manually at any time.
Each QT entry comprises the starting date/time and duration. It may also have a "repeat" attribute, which will do what it implies - repeat the QT as specified.
It is also possible to specify a day of the week as the QT's starting point. This is meant to support a very common case of mandatory weekly blackouts.


In Kombination mit Delta Copying und Abort and error recovery kann dann nahtlos angeknüpft werden.
Allerdings ist es alternativ auch möglich, die Bandbreite zu beschränken, so dass es dann ggf. auch tagsüber nicht stört.

Das ganze läuft auch unter Windows als Dienst.

Gruß

DivideByZero
Dilbert-MD
Dilbert-MD 24.03.2025 um 13:09:14 Uhr
Goto Top
Moin,

kannst Du ggf. am managed Switch die Datenrate drosseln oder über die Netzwerkkarte des Gerätes die Verbindung auf 100MBit/s Ethernet-Speed drosseln?
Hast Du ggf. noch einen 5€ Ethernet-Switch rumliegen und steckst den dazwischen, um die Datenrate auszubremsen.
Vorausgesetzt die Datenmenge ist dann noch in einem vertretbaren Zeitrahmen übertragbar.

Gruß
DivideByZero
DivideByZero 24.03.2025 um 13:20:08 Uhr
Goto Top
Hardware ist nicht notwendig, wenn die Software dies schon kann, wie das von mir erwähnte bvckup2. Macht auch mehr Sinn, nur die Anwendung zu drosseln und nicht die Verbindung zum gesamten Gerät.
Crusher79
Crusher79 24.03.2025 um 19:30:32 Uhr
Goto Top
Hallo,

reicht Command Line Tool deiner Wahl.

Mehrere Methoden -siehe Portable Firefox und Snippet, was nur diesen killt.

$ProcName = "Firefox"  
$ProcPath = "FirefoxPortableESR"  

try {$KillProcFirefoxFSP = Get-Process -Name $ProcName -ErrorAction SilentlyContinue | Where-Object { $_.Path -match $ProcPath } | Select Id,Path,ProcessName} catch {}

if ($KillProcFirefoxFSP.Count -ne 0) {
	try { $KillProcFirefoxFSP.Id | ForEach-Object { Stop-Process -Id $_ -Force -ErrorAction SilentlyContinue } } catch {}
}

Hier mal Bsp. sfk FTP Server als Process der später gestoppt wird.

$ArgList = "$sfkModul -port=$ftpPort $ftpRW $ftpRoot"  
$runnigFTP = Start-Process -FilePath $sfkBin -ArgumentList $ArgList -Passthru -NoNewWindow

..............
 
Stop-Process -Name $runnigFTP.Name -Force


Jeden 2. Tag zwischen 0 Uhr und 4 Uhr

if ( (00..04) -contains $(Get-Date).Hour -and $((Get-Date).DayOfWeek).value__ % 2 -eq 0 ) {


Was soll das Ganze? Wir können Prozesse anhand des Pfades identifizieren. Portable Application, simple EXE Dateien. Auch robocopy wurde ja früher via CD mitgeliefert und musste nachinstalliert werden?!? So um 2000 rum?

Du kannst also EXE in ein Verzeichnis schieben und von dort aus arbeiten. Oder z.B. eine Schleife bauen. Gerade/ ungerade Tage? Zwischen x und y Uhr.

Ein "kill" sollten Sync Programme ja immer verschmerzen.

Als "billig" Lösung wäre es am einfachsten Programm in ein extra Ordner zu packen - Robocopy da reinzukopieren. Dann kann man es immer z.B. via $ProcPath auffinden und beenden.

Tages und Zeit Steuerung sind nur ein Einzeiler wie du siehst.

Dauerhafte PowerShell Scripte gehen auch. Einfach Schleife bauen.

Robust sollte aber schon eine einfache Isolierung der EXE sein. Stop-Process killt dann das Programm. In meinen Bsp. ist es so aufgebaut, dass bei mehreren PID es nicht auf einen Hammer läuft - try-catch.

Du brauchst nun nur ein Programm, mit dem du dich wohl fühlst und das via Command Line läuft. Fertig.

Ein Problem könnte noch die Prüfung und Wiederaufnahme sein. Checksummen vergleichen, etc. Ggf. mehrere Verzeichnis separat abarbeiten, so dass möglichst viel in der definierten Zeit abgeschlossen wird.

Mehr Backup:
- https://duplicati.com/
- https://restic.net/

Die sind auf Remote ausgelegt.

Wie @Vision2015 schon richtig anmerkte kommt es sonst nie zu einem guten Ende! Damit man man mit $LASTEXITCODE z.B. erfolgreichen Vorgang auslesen und verwursten kann, muss es zumindest einen Erfolg geben!

Dauerfeuer führt nicht immer zum Ziel. So spekulierst du ja da drauf, dass der Check im Zeitrahmen rasch 98% erfasst und 2% kopiert werden. Am Ende du in X-Stunden doch alles gesynced hast.

ZIP und UNZIP:
- Compress-Archive
- Expand-Archive

Geht auch sofort mit PowerShell. Wenn wir es aber validieren wollen, wären wir hier schon wieder bei mehr Codezeilen. Packen. Packen OK? Hahsumme? Übertragung vollständig? Entpacken OK?

Große Pakete sind meist schneller übertragen. Für alles andere kann man mit einfach Mitteln Jobs, Prozesse, Tasks ... in die Schranken weisen.