Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Batch & Shell

GELÖST

Batchscript lässt sich nicht mit der Aufgaben Planung ausführen

Mitglied: MultiStorm

MultiStorm (Level 1) - Jetzt verbinden

21.10.2014, aktualisiert 22.10.2014, 5575 Aufrufe, 18 Kommentare

Hallo ich fange erstmal mit den Rahmenbedingungen an

Server:
Windows Server 2012 R2 als HyperV VM
15 GB RAM
6 Cores
MS SQL Server
In einer Domäne

Ziel
Der SQL Server erzeugt stündlich Backups,
diese, jedenfalls konnte ich es nicht anders einstellen werden auf der Lokalen Platte gespeichert
Hier können Sie aber nicht liegen bleiben da sonst der Lokale Speicher nach 3 Tagen voll ist.

Also habe ich mir ein Netzlaufwerk eingerichtet

W:\ welches auf eine Freigabe zeigt in der die Backups abgelegt werden können.

nun habe ich mir ein BATCH Script geschrieben welches die Dateien erst Verschiebt und im Anschluss die ältesten 20 Backups löscht.
Wenn ich das Script per Hand Ausführe Funktioniert das Fehlerfrei. Starte ich das Sxript aber über die Aufgaben Planung passiert einfach nix.
ich sehe zwar das im Taskmanager das Script gestartet wird, aber es passiert einfach nichts .... vermutlich mache ich einen ganz einfachen Fehler
aber ich weis einfach nicht welchen

hier erstmal das Script

@echo off & setlocal

set "Ordner=W:\Backup"
set "Logfile=C:\Datenbank Backups\database_move_log.log"
set Anzahl=20

@echo [%date% %time%] - Starte das Verschieben von Backups >"%Logfile%"
@echo [%date% %time%] - Starte das Verschieben von Backups
move "C:\Datenbank Backups\BeEvent\*.bak" "W:\Backup" >"%Logfile%"
@echo [%date% %time%] - Beginne das Löschen alter Backups >"%Logfile%"
@echo [%date% %time%] - Beginne das Löschen alter Backups
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do del "%Ordner%\%%i"
@echo [%date% %time%] - %Ordner% >"%Logfile%"
@echo [%date% %time%] - %Ordner%

die Aufgabenplanung sieht wie folgt aus ...
Allgemein:
Unabhängig von der Benutzeranmeldung ausführen
Mit Höchsten Privilegien ausführen
Benutzer Administrator

Trigger:
[X] - Täglich um 2 Uhr

Aktion:
[X] - Programmstart | Pfad zum Script

Bedingung:
[] - Keine

Einstellungen:
[X] - Ausführen der Aufgabe bei bedarf zulassen
[X] - Aufgabe so schnell wie möglichich nach einem verpassten start ausführen
[X] - Falls Aufgabe scheitert, neustart alle 30 min
[X] - neustartversuch bis maximal 3 x
[X] - Aufgabe beenden wenn ausführung länger als 4 Stunden Dauert
[X] - Beenden der aktiven Aufgabe erzwingen, falls sie auf Aufforderung nicht beendet wird

als Rückgabe bekomme ich nur
Informationen 21.10.2014 14:53:33 102 Aufgabe abgeschlossen (2) b5584a54-d305-4d5b-b939-2130dfa75055
aber passiert ist absolut nix ...
jemand eine Idee was ich Falsch mache ?

Hilfe wäre echt klassen,
vielen dank im Vorraus
Mitglied: DerWoWusste
21.10.2014, aktualisiert um 15:15 Uhr
Hi.

Du musst im Skript das Laufwerk mappen - und schon klappt's.
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 12:15 Uhr
Hy...
Kannst du das genauer erklären ...
mit Laufwerk meinst du sicher das Ziellaufwerk W:\ ?
aber das ist schon gemappt .....
Bitte warten ..
Mitglied: MultiStorm
22.10.2014, aktualisiert um 12:32 Uhr
also,
ich denke verstanden was du meinst habe ich ...
wie sollte das laufwerk auch zugreifbar sein wenn der Benutzer vielleicht garnicht angemeldet ist !?!?!

Also habe ich deinen Rat befolgt und ein Mapping eingebaut

@echo off & setlocal

net use w: \\Server\98_Datenbank_Backups$\

set "Ordner=W:\Backup"
set "Logfile=C:\Datenbank Backups\database_move_log.log"
set Anzahl=20

@echo [%date% %time%] - Starte das Verschieben von Backups >"%Logfile%"
@echo [%date% %time%] - Starte das Verschieben von Backups
move "C:\Datenbank Backups\BeEvent\*.bak" "W:\Backup" >"%Logfile%"
@echo [%date% %time%] - Beginne das Löschen alter Backups >"%Logfile%"
@echo [%date% %time%] - Beginne das Löschen alter Backups
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do del "%Ordner%\%%i"
@echo [%date% %time%] - %Ordner% >"%Logfile%"
@echo [%date% %time%] - %Ordner%

Ausführung von hand funktioniert wie gewohnt ....
Ausführung per Aufgaben planung funktioniert nach wie vor nicht
ich habe auch folgendes Versucht

@echo off & setlocal

set "Ordner=\\Server\98_Datenbank_Backups$\Backup"
set "Logfile=C:\Datenbank Backups\database_move_log.log"
set Anzahl=20

@echo [%date% %time%] - Starte das Verschieben von Backups >"%Logfile%"
@echo [%date% %time%] - Starte das Verschieben von Backups
move "C:\Datenbank Backups\BeEvent\*.bak" "W:\Backup" >"%Logfile%"
@echo [%date% %time%] - Beginne das Löschen alter Backups >"%Logfile%"
@echo [%date% %time%] - Beginne das Löschen alter Backups
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do del "%Ordner%\%%i"
@echo [%date% %time%] - %Ordner% >"%Logfile%"
@echo [%date% %time%] - %Ordner%

Funkitoniert leider auch nicht ...
Übersehe ich etwas ?
Bitte warten ..
Mitglied: DerWoWusste
22.10.2014 um 12:49 Uhr
Ja, vermutlich übersiehst Du, dass der ausführende Benutzer nicht ohne weiteres w: mappen darf. Hat das Konto, welches Du im task eingetragen hat denn Zugriff auf w:?
Wenn ja - kannst Du den Output des Skriptes in eine Datei loggen und diese hier ausstellen?
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 13:06 Uhr
hy,
also das mit dem Loggen ist das nächste Problem ....

Also mal vorab ...
Batch Programmieren ist nicht gerade meine stärke, hätte aber nicht gedacht das eine so einfache Problemstellung
solche wellen schlägt ...

also der Benutzer mit dem der Task gestartet wird, ist das Konto Administrator, wenn das keinen zugriff hat weis ich es auch nicht
was das Loggen angeht, habe ich das schon versucht, wie man am code des Scrips sehen kann ... leider kommt in der logdatei nix an
...
Sie wir zwar angelegt aber die Datei bleibt leer ......

Ich habe in zwischen auchn schon versucht das lazufwerk aus der gleichung zu nehmen in dem ich mit den UNC Pfaden gearbeitet habe aber das Problem bleibt das gleich ....

habe über google auch schon hinweise gefunden das es ggf. an den Einstellungen der Aufgaben liegen kann und habe folgende umkonfiguriert

Programm / Skript = "C:WindowsSystem32\cmd.exe"
Argument = C:\Datenbank Backups\MoveBackups.bat
Starten In =C:\Datenbank Backups\

diese Einstellungen sollten laut den einschlägigen Foren Funktionieren aber mein Task startet nun gar nicht mehr ...

Fehlermeldung:
Die Aufgabenplanung konnte die Aufgabe "\Datenbank Backups Verschieben" für den Benutzer "BlaBla\Administrator" nicht starten. Zusätzliche Daten: Fehlerwert: 2147942402

kann doch eigentlich nicht so schwer sein 20 Dateien zu verschieben ?

Ich bin mitlaweile schon so verzweifelt das ich es schon mit einem VBS Script vewrsucht habt, das kann er scheinbar aber nicht starten weil er nicht Weiß wie ... keine Ahnung .... regt mich gerade alles ein bissel auf

Wenn du einen Tipp bezüglich der Logausgabe hast immer her damit,
dann poste ich dir das Ergebnis sehr gerne ....
Bitte warten ..
Mitglied: DerWoWusste
LÖSUNG 22.10.2014, aktualisiert um 14:04 Uhr
Es wird nur eine Kleinigkeit sein.
Nimm bitte einen neuen Task, der auf die selbe Weise (selbes Konto zum Ausführen, selber Trigger) folgende test.bat ausführt:
01.
md c:\test 
02.
net use w: \\Server\98_Datenbank_Backups$\ >c:\test\Testtasklog.txt 
03.
md w:\Testordner >>c:\test\Testtasklog.txt
Und schau dann, ob unter w: ein Testordner erstellt wurde und was in c:\test\Testtasklog steht.
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 13:46 Uhr
Funktioniert leider nicht ...
Habe es erstmal per hand ausgeführt das Script

Verzeichnis wird angelegt ...
Logdatei erzeugt ...
Log bleibt leer
Netzlaufwerk wird nicht verbunden ....

also:
habe ich ein Pause ans ende deines Scriptes angefügt ....
und in der Console steht ....

Systemfehler 53 der Netzwerkpfad wurde nicht gefunden

kann das daran liegen das es sich um eine versteckte Freigabe handelt ?
wenn ich das net use in der Powershell versuche bekomme ich den gleichen Fehlercode

Windows PowerShell
Copyright (C) 2013 Microsoft Corporation. Alle Rechte vorbehalten.

PS C:\Users\Administrator.FIRMA> net use w: \\Server\98_Datenbank_Backups$\
Systemfehler 53 aufgetreten.

Der Netzwerkpfad wurde nicht gefunden.

PS C:\Users\Administrator.FIRMA>

der Netzwerkpfad ist aber Korrekt !
wenn ich per Copy & Past den Pfad in den Explorer kopiere geht der Ordner ohne Probleme auf.
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 13:49 Uhr
Scheint wirklich an der versteckten Freigabe zu liegen ...
Gleicher Server ... andere Freigabe (nicht versteckt ansonsten analog zur versteckten Freigabe)
Funkitoniert !!!
Bitte warten ..
Mitglied: MultiStorm
22.10.2014, aktualisiert um 13:52 Uhr
och nöööö......
scheinbar darf der Pfad keine \ haben

Windows PowerShell
Copyright (C) 2013 Microsoft Corporation. Alle Rechte vorbehalten.

PS C:\Users\Administrator.FIRMA> net use w: \\SRVBLACKBOX\98_Datenbank_Backups$\
Systemfehler 53 aufgetreten.

Der Netzwerkpfad wurde nicht gefunden.

PS C:\Users\Administrator.FIRMA> net use w: \\SRVBLACKBOX\98_Datenbank_Backups$
Der Befehl wurde erfolgreich ausgeführt.

PS C:\Users\Administrator.FIRMA>
Bitte warten ..
Mitglied: DerWoWusste
LÖSUNG 22.10.2014, aktualisiert um 14:04 Uhr
Hm, dazu gibt es keinen Grund. Das Verstecken ändert nichts an der Freigabe, alles sollte genau so funktionieren.
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 13:53 Uhr
so ich versuchs jetzt nochmal mit deinem Script
Bitte warten ..
Mitglied: DerWoWusste
LÖSUNG 22.10.2014, aktualisiert um 14:04 Uhr
Witzig... ich würde instinktiv auch nie einen \ ans Ende setzen, habe es nur per copy und paste von Dir übernommen...wusste auch nicht, dass es Probleme bereitet.
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 13:58 Uhr
Also
ich habe das Script in den Original Task gehängt ...
also nur das Script gegen deins getauscht ...

Task von hand gestartet

Verzeichnis auf C: wurde angelegt ....

Inhalt der Logdatei

"Der Befehl wurde erfolgreich ausgefhrt."

netzlaufwerk kann ich nicht sehen ... (also W
aber der Testordner wurde in der Freigabe erstellt
bleibt aber leer ... (Glaube das muss auch so)
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 13:58 Uhr
Probiere das Script gleich nocheinmal ohne \ also meins vielleicht lag da ja der fehler
Bitte warten ..
Mitglied: MultiStorm
22.10.2014, aktualisiert um 14:03 Uhr
Jupp jetzt läuft es .....
also halten wir mal für die Nachwelt fest .....

1. wenn in einem Script ein netzlaufwerk verwendet werden soll muss dieses auch im script gemappt werden
net use BUCHSTABE: UNC Pfad

2. beim UNC Pfad darf kein \ als abschluss stehen ....
Bitte warten ..
Mitglied: MultiStorm
22.10.2014 um 14:04 Uhr
Danke dir für deine Unterstüzung
Bitte warten ..
Mitglied: DerWoWusste
22.10.2014, aktualisiert um 14:11 Uhr
Gerne.
Noch als Zusatz zu
wenn in einem Script ein netzlaufwerk verwendet werden soll muss dieses auch im script gemappt werden
Das liegt daran, das Netzlaufwerke nicht systemweit, sondern eben benutzergebunden erstellt werden. Hinzu kommt: Lässt man einen Task mit der Option "mit höchsten Privilegien ausführen" ("elevated") laufen, kann es sogar der selbe Benutzer sein, der gerade angemeldet ist UND ein Netzlaufwerk w: hat - es könnte in dem Task nicht verwendet werden, ohne es separat erneut zu mappen. Grund wäre dann die UAC, die das Weiterreichen von Netzlaufwerken zwischen Konto A "normal" und Konto A "elevated" unterbindet.
Bitte warten ..
Mitglied: bastla
22.10.2014 um 18:26 Uhr
Hallo MultiStorm!

Zur Abrundung: Da Du ja sinnvoller Weise eine Variable (%Ordner%) verwendest, würde ich diese auch konsequent nutzen (also auch in der "move"-Zeile), womit der Laufwerksbuchstabe ohnehin nur genau einmal benötigt würde - da kannst Du aber auch gleich ganz darauf verzichten:
set "Ordner=\\Server\98_Datenbank_Backups$\Backup"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batchscripts
gelöst Frage von perseus21Batch & Shell6 Kommentare

Hallo, ich suche nach einer Lösung um mit CMD folgendes Problem zu lösen: Ich möchte, daß der Benutzer mittels ...

Batch & Shell
Rechteveragbe über Batchscript
gelöst Frage von sanaitBatch & Shell7 Kommentare

Moin Moin, ich habe mir ein Laufwerk gemappt und will nun dort in einem Script die Rechte in den ...

Windows Server
Aufgabenplanung lässt keine neuen Aufgaben zu (Aufgabe oder Ordner mit diesem Namen ist bereits vorhanden)
gelöst Frage von ChibisukeWindows Server12 Kommentare

Moin Mitstreiter im täglichen Kampf gegen die IT, hab mal wieder ein äußerst nerviges Problem bei dem ich nicht ...

Informationsdienste
COMPANYWEB läßt keine Veränderung von Inhalten (Aufgaben, Termine) mehr zu
Frage von user080155Informationsdienste

Hallo Spezialisten für WSS 3.0, ich habe ein Problem mit unserer internen WEB-Seite (COMPANYWEB)Hier zunächst einige Daten zur IT-Umgebung: ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...