Advertisement
Guest User

7za 7zip incremental cryptocurrency wallet.dat backup script

a guest
Sep 16th, 2019
854
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 5.37 KB | None | 0 0
  1. @echo off
  2.  
  3. REM Get system date & time no matter your system local
  4. REM ALL CREDITS TO Derty2 https://stackoverflow.com/a/16777802/2792969
  5. REM.
  6. SETLOCAL
  7. COLOR 0A
  8. TITLE Generating wallet backups for C: (including backups and config files)...
  9.  
  10. :: --- CHANGE THE COMPUTER DATE FORMAT TEMPORARILY TO MY PREFERENCE "yyyy-MM-dd",
  11. REG COPY "HKCU\Control Panel\International" "HKCU\Control Panel\International-Temp" /f 2>nul >nul
  12. REG ADD "HKCU\Control Panel\International" /v sShortDate /d "yyyy.MM.dd" /f 2>nul >nul
  13. SET MYDATE=%date%
  14.  
  15. :: --- REVERT COMPUTER DATE BACK TO SYSTEM PREFERENCE
  16. REG COPY "HKCU\Control Panel\International-Temp" "HKCU\Control Panel\International" /f 2>nul >nul
  17. REG DELETE "HKCU\Control Panel\International-Temp" /f 2>nul >nul
  18.  
  19. :: --- SPLIT THE TIME DIGITS TO THREE BLOCKS [H] [MM] [SS.SS]
  20. FOR /F "tokens=1-3 delims=:" %%A IN ('echo %time%') DO SET HOUR=%%A& SET MINUTES=%%B& SET SECONDS=%%C
  21.  
  22. :: --- YOUR CHOICE - FOR 4 DIGIT SECONDS - REMOVES THE DOT FROM THE SECONDS BLOCK [SS.SS]
  23. :: SET SECONDS=%SECONDS:.=%
  24. :: --- YOUR CHOICE - FOR 2 DIGIT SECONDS - GETS THE FIRST TWO DIGITS FROM THE SECONDS BLOCK [SS.SS]
  25. SET SECONDS=%SECONDS:~0,2%
  26.  
  27. :: --- GET THE "AM PM" STRING TO CHECK THE HOUR BLOCK
  28. FOR /F "tokens=1,2 delims= " %%A IN ('time /t') DO SET AM_PM=%%B  
  29.  
  30. :: --- CONVERT THE HOUR BLOCK [H] TO "24 HOUR" FORMAT [HH]
  31. IF %AM_PM%==PM (
  32. IF %HOUR%==01 (SET HOUR=13)
  33. IF %HOUR%==02 (SET HOUR=14)
  34. IF %HOUR%==03 (SET HOUR=15)
  35. IF %HOUR%==04 (SET HOUR=16)
  36. IF %HOUR%==05 (SET HOUR=17)
  37. IF %HOUR%==06 (SET HOUR=18)
  38. IF %HOUR%==07 (SET HOUR=19)
  39. IF %HOUR%==08 (SET HOUR=20)
  40. IF %HOUR%==09 (SET HOUR=21)
  41. IF %HOUR%==10 (SET HOUR=22)
  42. IF %HOUR%==11 (SET HOUR=23)
  43. ) ELSE (
  44. IF %HOUR%==0 (SET HOUR=00)
  45. IF %HOUR%==12 (SET HOUR=00)
  46. IF %HOUR%==1 (SET HOUR=01)
  47. IF %HOUR%==2 (SET HOUR=02)
  48. IF %HOUR%==3 (SET HOUR=03)
  49. IF %HOUR%==4 (SET HOUR=04)
  50. IF %HOUR%==5 (SET HOUR=05)
  51. IF %HOUR%==6 (SET HOUR=06)
  52. IF %HOUR%==7 (SET HOUR=07)
  53. IF %HOUR%==8 (SET HOUR=08)
  54. IF %HOUR%==9 (SET HOUR=09)
  55. )
  56.  
  57. :: --- GENERATE OUR WANTED TIMESTAMP
  58. :: --- EXAMPLE: SET TIMESTAMP=%MYDATE%__%HOUR%_%MINUTES%_%SECONDS%
  59. SET TIMESTAMP=%HOUR%.%MINUTES%_%SECONDS%
  60. REM FAILS SET TIMESTAMP=%HOUR%h%MINUTES%_%SECONDS%
  61.  
  62. :: --- WAIT - VIEW THE RESULT IN THE CONSOLE SCREEN
  63. ECHO Your archive's timestamp ID will be: %TIMESTAMP% (hh.MM_ss)
  64. echo.
  65. echo.
  66. REM pause
  67.  
  68. :: --- NEXT STEP - WINRAR IT ALL!
  69. c:
  70. cd "C:\Program Files\WinRAR\"
  71.  
  72. set base_archive=E:\= RAIN= CRYPTO\== Wallet Backups\= Winrar Incremental Backups\Wallets C-Disk .rar
  73. set base_archive_list=E:\= RAIN= CRYPTO\== Wallet Backups\= Winrar Incremental Backups\Wallets C-Disk *.rar
  74. set archive_folder=E:\= RAIN= CRYPTO\== Wallet Backups\= Winrar Incremental Backups
  75. set files_to_add="C:\*wallet*.dat" "C:\*wallet*.bak" "C:\*wallet*.old" "C:\*.conf"
  76. set exclude_folders=-x*\Windows -x*\Windows\* -x*\Microsoft -x*\Microsoft\*
  77. REM -k switch prevents any further archive modifications by WinRAR
  78. REM -oh -ol switches only stores links, not their destination
  79. set overlapping_parameters=-ac -dh -ep2 -htb -k -m5 -ma5 -md1g -oh -ol -os -qo+ -se -t -ts -r
  80. set ID=YYYY.MM.DD__%TIMESTAMP%
  81.  
  82. echo Winrar Incremental Wallets Backup C: (%DATE% at %TIME%) > C:\Temp\winrar.message.C.txt
  83. set comment=C:\Temp\winrar.message.C.txt
  84.  
  85. echo Output folder: %archive_folder%
  86. echo Main archive: %base_archive%
  87. echo Looking on C: for %file_list% (including subfolders)
  88. echo.
  89. echo.
  90. REM pause
  91.  
  92. :: --- CREATING DIFFERENTIAL RAR BACKUP OR MAIN ARCHIVE
  93. REM IF NOT EXIST C:\Temp mkdir C:\Temp
  94. set cleanup=del /F /Q C:\Temp\winrar.message.C.txt
  95.  
  96. IF EXIST "%base_archive_list%" GOTO create_incrementals ELSE GOTO create_main_archive
  97.  
  98. :create_main_archive
  99. echo %base_archive_list% for drive C: not found! Creating it next... Hold on!
  100. echo.
  101. echo.
  102. rar a -rr100%% %overlapping_parameters% %exclude_folders% -z%comment% -ag%ID%___FULL "%base_archive%" %files_to_add%
  103. %cleanup%
  104. REM pause
  105. goto :eof
  106.  
  107. :create_incrementals
  108. echo %base_archive_list% for drive C: has been found!
  109. echo Updating any changed or new files to it (even when in use)... Hold on!
  110. echo.
  111. echo.
  112. rar a -rr100%% -ao -u %overlapping_parameters% %exclude_folders% -z%comment% -ag%ID%___incr "%base_archive%" %files_to_add%
  113. %cleanup%
  114. REM pause
  115. goto :eof
  116.  
  117.  
  118. REM https://x443.wordpress.com/2012/07/11/winrar-incremental-differential-backup/
  119. REM Full backup example:         winrar.exe a -se -rr3% -ag+YYYYMMDD_full_ -k -m5 -ms -os -r -ep1 -ac     e:\mydoc.rar c:\docs\*
  120. REM Incremental backup example:  winrar.exe a -se -rr3% -ag+YYYYMMDD_incr_ -k -m4 -ms -os -r -ep1 -ac -ao e:\mydoc.rar c:\docs\*
  121. REM Differential backup example: winrar.exe a -se -rr3% -ag+YYYYMMDD_diff_ -k -m4 -ms -os -r -ep1     -ao e:\mydoc.rar c:\docs\*
  122. REM Have you read in help of WinRAR about the switch -ac which is designed for backup purposes and the switch -ao?
  123. REM The first command line runs WinRAR to archive all files with compression into the full archive file with clearing the archive
  124. REM file attribute from all files put into the archive file. The second command line compresses into the incremental archive file
  125. REM only files with archive attribute set because of -ao. All other files with no archive attribute are ignored on this second file
  126. REM archiving.
  127. REM.
  128. REM -ag+YYYYMMDD_ puts YYYYMMDD_ in FRONT of the filename. -agYYYYMMDD_ puts YYYYMMDD_ at the END of the filename.
  129. REM.
  130. REM -rr100% (recovery record) might be overkill ;)
  131.  
  132. :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement