Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- rem ****** Cleaning up (empty the trash, reconnect the net-folder and delete old logs) ******
- echo Cleaning up (empty the trash, reconnect the net-folder and delete old logs)
- echo.
- del /F /S /Q C:\$RECYCLE.BIN
- rem net use /delete /yes O:
- net use O: \\nas\backup /USER:backup /persistent:NO
- rmdir /S /Q O:\pc-juli\daten\logs
- mkdir O:\PC-Juli\Daten\logs\
- echo "empty" > O:\pc-juli\daten\logs\fulllog.txt
- rem ****** Move old backups into old directory ******
- color 0E
- echo Move old backups into old directory
- echo.
- mkdir \\nas\backup\pc-juli\daten\old
- for /F %%a in ('dir O:\pc-juli\daten\full_* /ad /b') do move O:\pc-juli\daten\%%a O:\pc-juli\daten\old\%%a
- for /F %%a in ('dir O:\pc-juli\daten\incremental_* /ad /b') do move O:\pc-juli\daten\%%a O:\pc-juli\daten\old\%%a
- rem ****** Set variable for foldernames ******
- color 07
- echo Set variable for foldernames
- echo.
- set CURRENTTIME=%TIME::=.%
- set ARCHIVNAME=%DATE%
- rem ****** Create sub-directories for backup-files ******
- mkdir O:\PC-Juli\Daten\full_%ARCHIVNAME%\Fotos
- mkdir O:\PC-Juli\Daten\full_%ARCHIVNAME%\Timelapse
- mkdir O:\PC-Juli\Daten\full_%ARCHIVNAME%\Video
- mkdir O:\PC-Juli\Daten\full_%ARCHIVNAME%\gopro
- mkdir O:\PC-Juli\Daten\full_%ARCHIVNAME%\"Lokale_Musik"
- mkdir O:\PC-Juli\Daten\full_%ARCHIVNAME%\Handybackup
- rem ****** initialize error-variables ******
- set seriousfail=0
- set fail=0
- set success=0
- set nodata=0
- rem ********************************* ROBOCOPY PERFORMS BACKUP *********************************
- color 06
- echo Creating new backup
- echo.
- robocopy K:\Fotos\ O:\pc-juli\daten\full_%ARCHIVNAME%\Fotos /E /B /Z /UNILOG:O:\PC-Juli\Daten\logs\fulllog.txt /NP /TEE /R:2 /W:10 /V /NDL /NFL
- IF ERRORLEVEL 16 set /a seriousfail=%seriousfail%+1
- IF ERRORLEVEL 8 set /a fail=%fail%+1
- IF ERRORLEVEL 1 set /a success=%success%+1
- IF ERRORLEVEL 0 set /a nodata=%nodata%+1
- robocopy K:\Timelapse\ O:\pc-juli\daten\full_%ARCHIVNAME%\Timelapse /E /B /Z /UNILOG+:O:\PC-Juli\Daten\logs\fulllog.txt /NP /TEE /R:2 /W:10 /V /NDL /NFL
- IF ERRORLEVEL 16 set /a seriousfail=%seriousfail%+1
- IF ERRORLEVEL 8 set /a fail=%fail%+1
- IF ERRORLEVEL 1 set /a success=%success%+1
- IF ERRORLEVEL 0 set /a nodata=%nodata%+1
- IF ERRORLEVEL 0 set /a nodata=%nodata%+1
- robocopy K:\Video\ O:\pc-juli\daten\full_%ARCHIVNAME%\Video /E /B /Z /UNILOG+:O:\PC-Juli\Daten\logs\fulllog.txt /NP /TEE /R:2 /W:10 /V /NDL /NFL
- IF ERRORLEVEL 16 set /a seriousfail=%seriousfail%+1
- IF ERRORLEVEL 8 set /a fail=%fail%+1
- IF ERRORLEVEL 1 set /a success=%success%+1
- IF ERRORLEVEL 0 set /a nodata=%nodata%+1
- robocopy K:\gopro\ O:\pc-juli\daten\full_%ARCHIVNAME%\gopro /E /B /Z /UNILOG+:O:\PC-Juli\Daten\logs\fulllog.txt /NP /TEE /R:2 /W:10 /V /NDL /NFL
- IF ERRORLEVEL 16 set /a seriousfail=%seriousfail%+1
- IF ERRORLEVEL 8 set /a fail=%fail%+1
- IF ERRORLEVEL 1 set /a success=%success%+1
- IF ERRORLEVEL 0 set /a nodata=%nodata%+1
- robocopy K:\Lokale_Musik\ O:\pc-juli\daten\full_%ARCHIVNAME%\Lokale_Musik /E /B /Z /UNILOG+:O:\PC-Juli\Daten\logs\fulllog.txt /NP /TEE /R:2 /W:10 /V /NDL /NFL
- IF ERRORLEVEL 16 set /a seriousfail=%seriousfail%+1
- IF ERRORLEVEL 8 set /a fail=%fail%+1
- IF ERRORLEVEL 1 set /a success=%success%+1
- IF ERRORLEVEL 0 set /a nodata=%nodata%+1
- robocopy K:\Handybackup\ O:\pc-juli\daten\full_%ARCHIVNAME%\Handybackup /E /B /Z /UNILOG+:O:\PC-Juli\Daten\logs\fulllog.txt /NP /TEE /R:2 /W:10 /V /NDL /NFL
- IF ERRORLEVEL 16 set /a seriousfail=%seriousfail%+1
- IF ERRORLEVEL 8 set /a fail=%fail%+1
- IF ERRORLEVEL 1 set /a success=%success%+1
- IF ERRORLEVEL 0 set /a nodata=%nodata%+1
- rem ********************************* ROBOCOPY FINISH *********************************
- rem ****** Errorhandling and Pushnotification
- set /a successdata=%success%+%nodata%
- IF %seriousfail%==6 goto seriousfail
- IF %seriousfail% GEQ 1 goto fail
- IF %fail%==6 goto seriousfail
- IF %fail% GEQ 1 goto fail
- IF %success%==6 goto success
- IF %nodata% == 6 goto nodata
- IF %successdata% GEQ 6 goto success
- IF %success% GEQ 1 goto mismatched
- :seriousfail
- color 0C
- echo Backup completely failed
- echo.
- c:\curl\curl.exe -s \ -F "token=PUSHOVERTOKEN" \ -F "title=PC-Juli: NO DATA HAS BEEN SAVED" \ -F "user=PUSHOVERUSER" \ -F "message=Fullbackup failed an no files have been backed up" \ -F "priority=1" \ https://api.pushover.net/1/messages.json --insecure
- powershell.exe C:\Backup_pc_juli\mails\fullfail.ps1
- goto end
- :fail
- color 04
- echo Backup partially failed. Check logfiles
- echo.
- c:\curl\curl.exe -s \ -F "token=PUSHOVERTOKEN" \ -F "title=PC-Juli: Fullbackup partially failed" \ -F "user=PUSHOVERUSER" \ -F "message=Some files caused trouble" \ -F "priority=0" \ https://api.pushover.net/1/messages.json --insecure
- powershell.exe C:\Backup_pc_juli\mails\fullteil.ps1
- goto end
- :mismatched
- color 0D
- echo Backup partially failed. Probably nothing serious
- echo.
- c:\curl\curl.exe -s \ -F "token=PUSHOVERTOKEN" \ -F "title=PC-Juli: Fullbackup partially failed" \ -F "user=PUSHOVERUSER" \ -F "message=Probably nothing serious" \ -F "priority=0" \ https://api.pushover.net/1/messages.json --insecure
- powershell.exe C:\Backup_pc_juli\mails\fullteil.ps1
- goto end
- :success
- color 0A
- echo Backup successful
- echo.
- c:\curl\curl.exe -s \ -F "token=PUSHOVERTOKEN" \ -F "title=PC-Juli: Backup successful" \ -F "user=PUSHOVERUSER" \ -F "message=Backup finished successfully" \ -F "priority=-1" \ https://api.pushover.net/1/messages.json --insecure
- powershell.exe C:\Backup_pc_juli\mails\fullerfolgreich.ps1
- rem ****** Delete old-directory after successful backup ******
- color 0E
- echo Delete old-directory after successful backup
- echo.
- rmdir /S /Q O:\pc-juli\daten\old
- :end
- rem ****** Pause to give the user time to read the notification on the screen *****
- ping 127.0.0.1 -n 5 > NUL
- rem ****** delete the files to determine if fullbackup or incrementalbackup ******
- del /F /S /Q O:\PC-Juli\daten\four_times
- IF NOT EXIST mkdir O:\PC-Juli\daten\four_times
- net use /delete /yes O:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement