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

Zeitgesteuerte zippen von Dateien durch batch

Frage Entwicklung Batch & Shell

Mitglied: mitscho2000

mitscho2000 (Level 1) - Jetzt verbinden

02.07.2008, aktualisiert 18.10.2012, 16126 Aufrufe, 9 Kommentare

Hallo Leute das ist mein erster Beitrag und ich hoffe ihr könnt mir bei meinem Problem helfen!

Für mich stellt sich aktuell folgende Situation:

Ich habe einen SQL Server 2000 der automatisch jeden Abend ein Backup von der Hauptdatenbank erstellt. Dieses legt er ab in den Ordner D:\DB-Backup .
Nun möchte ich ganz gerne das er mir diese Datensicherung auch noch paralell als .zip erstellt.
Ich hab mir das so vorgestellt, das ich eine Batchdatei schreibe und diese in einen WindowsTask hineinstecke sodass er diese zeitgesteuert ausführt.
Über einige Suchmaschinen hab ich mich schon versuch etwas schlauer zu machen aber etwas genauereres gibts bisher leider nicht.

Ich danke euch schonmal für eure Antworten!

Viele Grüße,
Mitscho
Mitglied: 60730
02.07.2008 um 16:13 Uhr
Servus,

Tool meiner Wahl ist 7zip

installieren / entpacken und dann
7z.exe a Backup.zip dann den ordner

am besten vorher das Datum in eine Variable schreiben

01.
set "Jahr=%date:~-4%" 
02.
set "Monat=%date:~-7,2%" 
03.
set "Tag=%date:~-10,2%" 
04.
 
05.
7z.exe a %Jahr%-%Monat%-%Tag%.zip meinordner
...und jeden Tag ein neues zip anlegen.

Das kannst du natürlich noch verfeinern mit
01.
7z.exe a %Jahr%\%Monat%\%Jahr%-%Monat%-%Tag%.zip meinordner
Bitte warten ..
Mitglied: mitscho2000
02.07.2008 um 16:22 Uhr
Nett das du so schnell geantwortet hast!

7zip scheint eine gute Wahl zu sein! Nun hat sich für mich eine weitere Frage gebildet.......


Die Datenbanksicherung speichert alle Backups in einen Hauptordner ab (D:\DB-Backup). Hier landen also täglich alle Backups!
Wenn ich nun das Batchfile so nehmen würde, würde er auch immer den kompletten Ordner zippen.
Kann ich nun irgendwie festlegen das er immer die neuste Datei aus dem Ordner nehmen soll?

Wegen dem automatismus werde ich wohl einen Windowstask erstellen - das würde mir gefallen.


VIELEN DANK!,
Mitscho
Bitte warten ..
Mitglied: 60730
02.07.2008, aktualisiert 18.10.2012
Kann ich nun irgendwie festlegen das er immer die neuste Datei aus dem Ordner nehmen soll?
Bastla hat da schon mal etwas vorbereitet
Wegen dem automatismus werde ich wohl einen Windowstask erstellen - das würde mir gefallen.
Yupp dafür ist es wie geschaffen

for /f %%i in ('dir /b /od "d:\backup\*.*"') do @set Neueste=%%i
7zip a %Jahr%\%Monat%\%Jahr%-%Monat%-%Tag%.zip d:\backup\%Neueste%

Schau dir halt mal alle Parameter von 7zip.exe mit /? (Dosbox) an - oder die Helpdatei aus dem Ordner vom 7zip.
Bitte warten ..
Mitglied: mitscho2000
02.07.2008 um 17:01 Uhr
ich versteh den syntax nicht so recht.

wenn ich nun z.b.

for /f %%i in ('dir /b /od "d:\backup\*.*"') do @set Neueste=%%i
7z.exe a %Jahr%\%Monat%\%Jahr%-%Monat%-%Tag%.zip d:\backup\%Neueste%


verwende dann erhalte ich eine Fehlermeldung das er mit dem %jahr%\%monat..etc. nicht zurecht kommt.


dann hab ich den code etwas bearbeitet

for /f %%i in ('dir /b /od "c:\test\*.*"') do @set Neueste=%%i
7z.exe a test.zip c:\test\%Neueste%

und erhalte die meldung "C:\test\DIE : Das System kann die angegenene Datei nicht finden.
Bitte warten ..
Mitglied: 60730
02.07.2008 um 17:55 Uhr
Servus,

dann nochmal in einem zusammenhängenden Script:

Wenn du wirklich nur diese beiden zeilen genommen hast - ist es logisch - denn die Variablen müssen erstmal gesetzt werden.

01.
:datum in Variablen 
02.
set "Jahr=%date:~-4%" 
03.
set "Monat=%date:~-7,2%" 
04.
set "Tag=%date:~-10,2%" 
05.
 
06.
:finde neueste Datei in d:\backup 
07.
for /f %%i in ('dir /b /od "d:\backup\*.*"') do set "Neueste=%%i" 
08.
echo Die neueste Datei ist %neueste% 
09.
:zippen 
10.
%programfiles%\7zip\7z.exe a %Jahr%-%Monat%-%Tag%.zip "D:\DB-Backup\%neueste%" 
11.
:zippen mit struktur 
12.
%programfiles%\7zip\7z.exe a %Jahr%\%Monat%\%Jahr%-%Monat%-%Tag%.zip "D:\DB-Backup\%neueste%"
Kommentar:

Zeile 1-4 Variablen für das aktuelle Datum
Zeile 6-8 auslesen, welche Datei als letzte in d:backup erzeugt wurde
Zeile 9 Ein Zip mit dem aktuellen Datum erstellen und die letzte Datei dort packen (Achtung - werden vorher "mehrere" Dateien erzeugt - das Script findet immer nur die letzte!!)
Zeile 12 Unterorder Jahr und Monat erstellen und dort die letze Datei in d:backup als zip einlagern.


Ps: Kannst du das bitte in Batch & Shell verschieben?

Danke
TimoBeil

[Edit Biber] "Ps: Kannst du das bitte in Batch & Shell verschieben?"... mach ich mal eben. [/Edit]
Bitte warten ..
Mitglied: bastla
02.07.2008 um 22:07 Uhr
Hallo mitscho2000 und TimoBeil!

Dürfte ich ergänzend noch anregen, das eine oder andere Anführungszeichen (aber doch möglichst paarweise ) zu verwenden, vor allem in
01.
for /f %%i in ('dir /b /od "d:\backup\*.*"') do set "Neueste=%%i"
und dann auch in
01.
%programfiles%\7zip\7z.exe a %Jahr%-%Monat%-%Tag%.zip "D:\DB-Backup\%Neueste%"
Grüße
bastla
Bitte warten ..
Mitglied: mitscho2000
03.07.2008 um 11:53 Uhr
Moin zusammen,

ich habe nun folgenden Code zusammenkopiert und als batch im pfad C:\programme\7zip abgespeichert:



:datum in Variablen
set "Jahr=%date:~-4%"
set "Monat=%date:~-7,2%"
set "Tag=%date:~-10,2%"

:finde neueste Datei in c:\test
for /f %%i in ('dir /b /od "c:\test\*.*"') do set "neueste=%%i"
echo Die neueste Datei ist %neueste%

:zippen mit struktur
%programme%\7zip\7z.exe a %Jahr%\%Monat%\%Jahr%-%Monat%-%Tag%.zip "c:\test\%neueste%"


Wenn ich nun die batch ausführe erhalte ich folgende Fehlermeldung:
C:\Program Files\7-Zip>echo Die neueste Datei ist newfile.doc
Die neueste Datei ist newfile.doc

C:\Program Files\7-Zip>\7zip\7z.exe a 2008\07\2008-07-03.zip "c:\test\newfile.do
c"
Das System kann den angegebenen Pfad nicht finden.



im pfad C:\test liegt aber die datei newfile.doc

mach ich etwas falsch?

grüße,
mitscho
Bitte warten ..
Mitglied: 60730
03.07.2008 um 12:04 Uhr
Servus,

Bastla hat mit seinem Tipp ""ins schwarze (dosbox) gehauen

01.
:zippen mit struktur  
02.
"%programfiles%"\7zip\7z.exe a %Jahr%\%Monat%\%Jahr%-%Monat%-%Tag%.zip "D:\DB-Backup\%neueste%"
geht beim englischen OS besser - und geht weiterhin davon aus, daß 7zip im Unterordner 7zip liegt.
Passe das noch an deine Umgebung an.

01.
:zippen mit struktur  
02.
"%programfiles%"\7-zip\7z.exe a %Jahr%\%Monat%\%Jahr%-%Monat%-%Tag%.zip "D:\DB-Backup\%neueste%"
Bitte warten ..
Mitglied: mitscho2000
04.07.2008 um 12:20 Uhr
Ich bedanke mich für eure Hilfe!

Hat alles gut geklappt!

Ich hab die Augen auf gemacht und sah das der ORdner 7Zip in C:\programme\7-zip liegt und nicht in C:\programme\7zip


Ich denke dieser Tread wird auch anderen Admins weiterhelfen!

THX
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...