Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Backuproutine

Frage Entwicklung Batch & Shell

Mitglied: fstueber

fstueber (Level 1) - Jetzt verbinden

10.04.2007, aktualisiert 15:32 Uhr, 3776 Aufrufe, 13 Kommentare

Suche Script oder Programm

Hallo Leute,
Suche Script oder Programm für Backuproutine (Windows/Linux)
In einem Backup-Ordner werden jeden Tag 2 Backupdateien (z. B: 2007-Mrz-31--1547.zip). Die letzte Zahl ist die Uhrzeit der 2. Sicherung.
Nun soll an jedem Monatsende jeweils die letzte Backupdatei in ein Verzeichnis „Archiv“ (Backup-Ordner) kopiert/verschoben werden. Der Rest der Dateien soll gelöscht werden.

Vielen Dank im voraus

fstueber
Mitglied: cykes
10.04.2007 um 09:53 Uhr
Hi,

auf welchem System soll denn das Script laufen, Windows oder Linux?

Gruß

cykes
Bitte warten ..
Mitglied: fstueber
10.04.2007 um 09:59 Uhr
Hi,

momentan läuft es noch unter Windows2000Server. Wird aber demnächst auf einem Linux (Fedora6) installiert.

Gruß

fstueber
Bitte warten ..
Mitglied: bastla
10.04.2007 um 10:47 Uhr
Hallo fstueber!

Für momentan hätte ich folgenden Ansatz:
01.
@echo off & setlocal 
02.
set "BackupDir=D:\Backups" 
03.
set "ArchivDir=Z:\Archiv" 
04.
set Neueste= 
05.
for /f "delims=" %%i in ('dir "%BackupDir%\*.zip" /b /a-d /o-d') do if not defined Neueste set "Neueste=%%i" 
06.
echo move "%BackupDir%\%Neueste%" "%ArchivDir%" && echo del "%BackupDir%\*.zip" || echo Fehler beim Verschieben von %Neueste%
Die ersten beiden "echo" in der letzten Zeile sorgen dafür, dass der Ablauf nur simuliert wird - erst, wenn Du sie entfernst, wird wirklich verschoben und gelöscht.

Grüße
bastla
Bitte warten ..
Mitglied: bastla
10.04.2007 um 11:35 Uhr
... Nachtrag: Sollte ich Dich vorhin falsch verstanden haben und es soll von den beiden täglichen Sicherungsdateien jeweils die jüngere archiviert werden, müsste das anhand des Dateinamens so gehen:
01.
@echo off & setlocal 
02.
set "BackupDir=D:\Backups" 
03.
set "ArchivDir=Z:\Archiv" 
04.
set Zuletzt=NA 
05.
for /f "delims=" %%i in ('dir "%BackupDir%\*.zip" /b /a-d /o-n') do call :ProcessFile "%%i" 
06.
::nächstes "echo" löschen 
07.
echo del "%BackupDir%\*.zip" 
08.
goto :eof 
09.
:ProcessFile 
10.
for /f "delims=--" %%f in ('echo %~n1') do ( 
11.
	if /i "%%f"=="%Zuletzt%" goto :eof 
12.
	set "Zuletzt=%%f" 
13.
	::nächstes "echo" löschen 
14.
	echo move "%BackupDir%\%~1" %ArchivDir% || echo Fehler beim Verschieben von %~1 
15.
)
Vorausgesetzt wird, dass im Dateinamen (wie in Deinem Beispiel oben) die Uhrzeit durch "--" vom Tag getrennt ist.

Auch hier gilt wieder: Die beiden gekennzeichneten "echo" löschen, um die Aktionen tatsächlich ausführen zu lassen.

Grüße
bastla
Bitte warten ..
Mitglied: fstueber
10.04.2007 um 13:00 Uhr
Hi bastla,

vielen Dank für das Script, werde es testen.

Gruß

fstueber
Bitte warten ..
Mitglied: fstueber
10.04.2007 um 13:29 Uhr
Hi bastla,

habe einen Test durchgeführt. Ich bekomme einen Syntaxfehler zurück.

Gruß

fstueber
Bitte warten ..
Mitglied: bastla
10.04.2007 um 13:54 Uhr
Hallo fstueber!

Im Allgemeinen verkrafte ich auch mehr Informationen in einem Post, als nur "Ich bekomme einen Syntaxfehler zurück."

Unter der Annahme, dass Du Dich auf die zweite Batchvariante beziehst, sollte es so besser gehen:
01.
@echo off & setlocal 
02.
set "BackupDir=D:\Backups" 
03.
set "ArchivDir=D:\Archiv" 
04.
set Zuletzt=NA 
05.
for /f "delims=" %%i in ('dir "%BackupDir%\*.zip" /b /a-d /o-n') do call :ProcessFile "%%i" 
06.
::nächstes "echo" löschen 
07.
echo del "%BackupDir%\*.zip" 
08.
goto :eof 
09.
:ProcessFile 
10.
for /f "tokens=1,2,3 delims=-" %%f in ('echo %~n1') do ( 
11.
    if /i "%%f-%%g-%%h"=="%Zuletzt%" goto :eof 
12.
    set "Zuletzt=%%f-%%g-%%h" 
13.
    ::nächstes "echo" löschen 
14.
    echo move "%BackupDir%\%~1" %ArchivDir% || echo Fehler beim Verschieben von %~1 
15.
)
Grüße
bastla

P.S.: Sorry, hatte mich beim Testen nur auf die Trennung Tag-Zeit konzentriert ...

[Edit] Unnötige Variable entfernt [/Edit]
Bitte warten ..
Mitglied: fstueber
10.04.2007 um 14:17 Uhr
Hi bastla.

noch einmal ganz kurz. Wenn ich die erste Zeile auskommentiere, sieht das Ergebnis so aus:

D:\>set "BackupDir=D:\Backups"

D:\>set "ArchivDir=D:\Backups\Archiv"

D:\>set Zuletzt=NA

D:\>for /F "delims=" %i in ('dir "D:\Backups\*.zip" /b /a-d

D:\>call :ProcessFile "2007-Mrz-31--1416.zip"
Syntaxfehler.

D:\>for /f "delims=--" %f in ('echo 2007-Mrz-31--1416')

die letze Datei wird gefunden.
Bitte warten ..
Mitglied: bastla
10.04.2007 um 14:24 Uhr
Hallo fstueber!

Nimm bitte zum Testen nochmals die letzte von mir gepostete Variante.

Grüße
bastla
Bitte warten ..
Mitglied: fstueber
10.04.2007 um 14:25 Uhr
Hi bastla,

sorry wegen der spärlichen Info.
Allles besten und vielen Dank.

fstueber
Bitte warten ..
Mitglied: bastla
10.04.2007 um 14:29 Uhr
Hallo fstueber!

Never mind ... (Hab heute nicht den besten Tag, sonst wäre es vielleicht gar nicht nötig gewesen, Fehlerberichte zu posten.)

Grüße
bastla
Bitte warten ..
Mitglied: fstueber
10.04.2007 um 14:31 Uhr
Hallo bastla,

die e-Mails haben sich überkreuzt.
Vielen Dank für Deine kompetente und schnelle Hilfe.

Grüße
fstueber
Bitte warten ..
Mitglied: Biber
10.04.2007 um 15:32 Uhr
Moin fstueber,

wollen wir jetzt
a) den Beitrag auf "gelöst" setzen? DONE by fstueber 10.4.2007...
b) den Beitrag auf "geschlossen" setzen? DONE by Biber 11.4.2007
c) den Beitrag offen lassen und weitermachen, wenn Dein Linux-Server da ist? Gestrichen 11.4. Biber
d) oder dann einen neuen Thread aufmachen?
e) alles nach "Batch und Shell" verschieben? DONE by Biber 10.4.2007

Mehrfachnennungen möglich, aber nicht alle Kombinationen kann ich umsetzen...

Gruss
Biber
[Edit] 11.4. Mögliche Optionen etwas weiter eingeschränkt *gg und Thread geschlossen [/Edit]
Bitte warten ..
Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...