22.09.2011 14:29
Witam,
wiem, że temat był przerabiany przynajmniej milion razy, ale już wyczerpałem wszystkie możliwe podpowiedzi i nie wiem co dalej zrobić.
Problem jest następujący.
Skrypt w bat oraz przekonwertowany do exe ( zawartość bat będzie poniżej) uruchamia się bez problemu z palca i z cmd, jak go dodam do harmonogramu to skrypt według logów zostaje wywołany poprawnie ale nic się nie dzieje ( nie tworzy archiwów) poradźcie coś.
Poniżej przesyłam zawartość bat i txt
*.BAT
______________________
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
REM Lokalizacja zasobu do przechowywania archiwizacji (np. F
sieciowa lokalizacja (np. \\server\backups)
SET BackupStorage=C: \backup_vidbase
REM Druga kopia archiwizacji (np. F
sieciowa lokalizacja (np. \\server\backups)
SET SecondaryBackupStorage=\\172.25.1.14\beckups\Videotel
REM Nazwa zasobu ktory bedzie archiwizowany
SET NazwaZasobu=Videotel
SET FullBackupDay=*
SET exe7Zip=C: \Program Files\7-Zip\7z.exe
SET dirTempBackup=%TEMP%\backup
SET filBackupConfig=BackupConfig.txt
IF NOT EXIST %filBackupConfig% (
ECHO Brak pliku konfiguracyjnego: %filBackupConfig%
GOTO End
)
IF NOT EXIST "%exe7Zip%" (
ECHO 7-Zip Nie jest zainstalowany w tej lokalizacji: %dir7Zip%
ECHO Zainstaluj 7-zip w domyslnej lokalizacji.
GOTO End
)
FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('date /t') DO (
SET DayOfWeek=%%a
SET NowDate=%%d-%%b-%%c
SET FileDate=%%b-%%c-%%d
)
IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek%
IF /i {%FullBackupDay%}=={%DayOfWeek%} (
SET txtBackup=Full
SET swXCopy=/e
) ELSE (
SET txtBackup=Incremental
SET swXCopy=/s /d:%FileDate%
)
ECHO Rozpoczecie kopiowania plikow.
IF NOT EXIST "%dirTempBackup%" MKDIR "%dirTempBackup%"
FOR /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) DO (
SET Current=%%~A
IF NOT EXIST "!Current!" (
ECHO ERROR! : !Current!
) ELSE (
ECHO Kopiowanie: !Current!
SET Destination=%dirTempBackup%\!Current:~0,1!%%~pnxA
IF "%%~xA"=="" (
XCOPY "!Current!" "!Destination!" /v /c /i /g /h /q /r /y %swXCopy%
) ELSE (
COPY /v /y "!Current!" "!Destination!"
)
)
)
ECHO Zakonczono kopiowanie plikow
ECHO.
SET BackupFileDestination=%BackupStorage%\%NazwaZasobu%_%DATE%_%txtBackup%.zip
IF EXIST "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%"
ECHO Pakowanie plikow ( Nowe okno )
START "Compressing Backup. DO NOT CLOSE" /belownormal /wait "%exe7Zip%" a -tzip -r-mx5 "%BackupFileDestination%" "%dirTempBackup%\"
ECHO Zakonczono kompresje
ECHO.
ECHO Kopiowanie zasobu na druga lokalizacje
COPY "%BackupFileDestination%" "%SecondaryBackupStorage%"
ECHO Czyszczenie plikow TEMP.
IF EXIST "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%"
ECHO.
:End
ECHO !!KONIEC!!
ECHO.
ENDLOCAL
__________
TXT
__________
C:\vidbase$
___________
Oczywiście, rozwieje wątpliwości, wszystkie ścieżki są poprawne, 7z jest zainstalowany w domyślnej lokalizacji, i jest zmapowany dysk zdalny.
wiem, że temat był przerabiany przynajmniej milion razy, ale już wyczerpałem wszystkie możliwe podpowiedzi i nie wiem co dalej zrobić.
Problem jest następujący.
Skrypt w bat oraz przekonwertowany do exe ( zawartość bat będzie poniżej) uruchamia się bez problemu z palca i z cmd, jak go dodam do harmonogramu to skrypt według logów zostaje wywołany poprawnie ale nic się nie dzieje ( nie tworzy archiwów) poradźcie coś.
Poniżej przesyłam zawartość bat i txt
*.BAT
______________________
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
REM Lokalizacja zasobu do przechowywania archiwizacji (np. F

SET BackupStorage=C: \backup_vidbase
REM Druga kopia archiwizacji (np. F

SET SecondaryBackupStorage=\\172.25.1.14\beckups\Videotel
REM Nazwa zasobu ktory bedzie archiwizowany
SET NazwaZasobu=Videotel
SET FullBackupDay=*
SET exe7Zip=C: \Program Files\7-Zip\7z.exe
SET dirTempBackup=%TEMP%\backup
SET filBackupConfig=BackupConfig.txt
IF NOT EXIST %filBackupConfig% (
ECHO Brak pliku konfiguracyjnego: %filBackupConfig%
GOTO End
)
IF NOT EXIST "%exe7Zip%" (
ECHO 7-Zip Nie jest zainstalowany w tej lokalizacji: %dir7Zip%
ECHO Zainstaluj 7-zip w domyslnej lokalizacji.
GOTO End
)
FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('date /t') DO (
SET DayOfWeek=%%a
SET NowDate=%%d-%%b-%%c
SET FileDate=%%b-%%c-%%d
)
IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek%
IF /i {%FullBackupDay%}=={%DayOfWeek%} (
SET txtBackup=Full
SET swXCopy=/e
) ELSE (
SET txtBackup=Incremental
SET swXCopy=/s /d:%FileDate%
)
ECHO Rozpoczecie kopiowania plikow.
IF NOT EXIST "%dirTempBackup%" MKDIR "%dirTempBackup%"
FOR /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) DO (
SET Current=%%~A
IF NOT EXIST "!Current!" (
ECHO ERROR! : !Current!
) ELSE (
ECHO Kopiowanie: !Current!
SET Destination=%dirTempBackup%\!Current:~0,1!%%~pnxA
IF "%%~xA"=="" (
XCOPY "!Current!" "!Destination!" /v /c /i /g /h /q /r /y %swXCopy%
) ELSE (
COPY /v /y "!Current!" "!Destination!"
)
)
)
ECHO Zakonczono kopiowanie plikow
ECHO.
SET BackupFileDestination=%BackupStorage%\%NazwaZasobu%_%DATE%_%txtBackup%.zip
IF EXIST "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%"
ECHO Pakowanie plikow ( Nowe okno )
START "Compressing Backup. DO NOT CLOSE" /belownormal /wait "%exe7Zip%" a -tzip -r-mx5 "%BackupFileDestination%" "%dirTempBackup%\"
ECHO Zakonczono kompresje
ECHO.
ECHO Kopiowanie zasobu na druga lokalizacje
COPY "%BackupFileDestination%" "%SecondaryBackupStorage%"
ECHO Czyszczenie plikow TEMP.
IF EXIST "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%"
ECHO.
:End
ECHO !!KONIEC!!
ECHO.
ENDLOCAL
__________
TXT
__________
C:\vidbase$
___________
Oczywiście, rozwieje wątpliwości, wszystkie ścieżki są poprawne, 7z jest zainstalowany w domyślnej lokalizacji, i jest zmapowany dysk zdalny.