1*b5663de9SDag-Erling Smørgrav@echo off 2*b5663de9SDag-Erling Smørgravrem -------------------------------------------------------------- 3*b5663de9SDag-Erling Smørgravrem -- DNS cache save/load script 4*b5663de9SDag-Erling Smørgravrem -- 5*b5663de9SDag-Erling Smørgravrem -- Version 1.2 6*b5663de9SDag-Erling Smørgravrem -- By Yuri Voinov (c) 2014 7*b5663de9SDag-Erling Smørgravrem -------------------------------------------------------------- 8*b5663de9SDag-Erling Smørgrav 9*b5663de9SDag-Erling Smørgravrem Variables 10*b5663de9SDag-Erling Smørgravset prefix="C:\Program Files (x86)" 11*b5663de9SDag-Erling Smørgravset program_path=%prefix%\Unbound 12*b5663de9SDag-Erling Smørgravset uc=%program_path%\unbound-control.exe 13*b5663de9SDag-Erling Smørgravset fname="unbound_cache.dmp" 14*b5663de9SDag-Erling Smørgrav 15*b5663de9SDag-Erling Smørgravrem Check Unbound installed 16*b5663de9SDag-Erling Smørgravif exist %uc% goto start 17*b5663de9SDag-Erling Smørgravecho Unbound control not found. Exiting... 18*b5663de9SDag-Erling Smørgravexit 1 19*b5663de9SDag-Erling Smørgrav 20*b5663de9SDag-Erling Smørgrav:start 21*b5663de9SDag-Erling Smørgrav 22*b5663de9SDag-Erling Smørgravrem arg1 - command (optional) 23*b5663de9SDag-Erling Smørgravrem arg2 - file name (optional) 24*b5663de9SDag-Erling Smørgravset arg1=%1 25*b5663de9SDag-Erling Smørgravset arg2=%2 26*b5663de9SDag-Erling Smørgrav 27*b5663de9SDag-Erling Smørgravif /I "%arg1%" == "-h" goto help 28*b5663de9SDag-Erling Smørgrav 29*b5663de9SDag-Erling Smørgravif "%arg1%" == "" ( 30*b5663de9SDag-Erling Smørgravecho Loading cache from %program_path%\%fname% 31*b5663de9SDag-Erling Smørgravdir /a %program_path%\%fname% 32*b5663de9SDag-Erling Smørgravtype %program_path%\%fname%|%uc% load_cache 33*b5663de9SDag-Erling Smørgravgoto end 34*b5663de9SDag-Erling Smørgrav) 35*b5663de9SDag-Erling Smørgrav 36*b5663de9SDag-Erling Smørgravif defined %arg2% (goto Not_Defined) else (goto Defined) 37*b5663de9SDag-Erling Smørgrav 38*b5663de9SDag-Erling Smørgravrem If file not specified; use default dump file 39*b5663de9SDag-Erling Smørgrav:Not_defined 40*b5663de9SDag-Erling Smørgravif /I "%arg1%" == "-s" ( 41*b5663de9SDag-Erling Smørgravecho Saving cache to %program_path%\%fname% 42*b5663de9SDag-Erling Smørgrav%uc% dump_cache>%program_path%\%fname% 43*b5663de9SDag-Erling Smørgravdir /a %program_path%\%fname% 44*b5663de9SDag-Erling Smørgravecho ok 45*b5663de9SDag-Erling Smørgravgoto end 46*b5663de9SDag-Erling Smørgrav) 47*b5663de9SDag-Erling Smørgrav 48*b5663de9SDag-Erling Smørgravif /I "%arg1%" == "-l" ( 49*b5663de9SDag-Erling Smørgravecho Loading cache from %program_path%\%fname% 50*b5663de9SDag-Erling Smørgravdir /a %program_path%\%fname% 51*b5663de9SDag-Erling Smørgravtype %program_path%\%fname%|%uc% load_cache 52*b5663de9SDag-Erling Smørgravgoto end 53*b5663de9SDag-Erling Smørgrav) 54*b5663de9SDag-Erling Smørgrav 55*b5663de9SDag-Erling Smørgravif /I "%arg1%" == "-r" ( 56*b5663de9SDag-Erling Smørgravecho Saving cache to %program_path%\%fname% 57*b5663de9SDag-Erling Smørgravdir /a %program_path%\%fname% 58*b5663de9SDag-Erling Smørgrav%uc% dump_cache>%program_path%\%fname% 59*b5663de9SDag-Erling Smørgravecho ok 60*b5663de9SDag-Erling Smørgravecho Loading cache from %program_path%\%fname% 61*b5663de9SDag-Erling Smørgravtype %program_path%\%fname%|%uc% load_cache 62*b5663de9SDag-Erling Smørgravgoto end 63*b5663de9SDag-Erling Smørgrav) 64*b5663de9SDag-Erling Smørgrav 65*b5663de9SDag-Erling Smørgravrem If file name specified; use this filename 66*b5663de9SDag-Erling Smørgrav:Defined 67*b5663de9SDag-Erling Smørgravif /I "%arg1%" == "-s" ( 68*b5663de9SDag-Erling Smørgravecho Saving cache to %arg2% 69*b5663de9SDag-Erling Smørgrav%uc% dump_cache>%arg2% 70*b5663de9SDag-Erling Smørgravdir /a %arg2% 71*b5663de9SDag-Erling Smørgravecho ok 72*b5663de9SDag-Erling Smørgravgoto end 73*b5663de9SDag-Erling Smørgrav) 74*b5663de9SDag-Erling Smørgrav 75*b5663de9SDag-Erling Smørgravif /I "%arg1%" == "-l" ( 76*b5663de9SDag-Erling Smørgravecho Loading cache from %arg2% 77*b5663de9SDag-Erling Smørgravdir /a %arg2% 78*b5663de9SDag-Erling Smørgravtype %arg2%|%uc% load_cache 79*b5663de9SDag-Erling Smørgravgoto end 80*b5663de9SDag-Erling Smørgrav) 81*b5663de9SDag-Erling Smørgrav 82*b5663de9SDag-Erling Smørgravif /I "%arg1%" == "-r" ( 83*b5663de9SDag-Erling Smørgravecho Saving cache to %arg2% 84*b5663de9SDag-Erling Smørgravdir /a %arg2% 85*b5663de9SDag-Erling Smørgrav%uc% dump_cache>%arg2% 86*b5663de9SDag-Erling Smørgravecho ok 87*b5663de9SDag-Erling Smørgravecho Loading cache from %arg2% 88*b5663de9SDag-Erling Smørgravtype %arg2%|%uc% load_cache 89*b5663de9SDag-Erling Smørgravgoto end 90*b5663de9SDag-Erling Smørgrav) 91*b5663de9SDag-Erling Smørgrav 92*b5663de9SDag-Erling Smørgrav:help 93*b5663de9SDag-Erling Smørgravecho Usage: unbound_cache.cmd [-s] or [-l] or [-r] or [-h] [filename] 94*b5663de9SDag-Erling Smørgravecho. 95*b5663de9SDag-Erling Smørgravecho l - Load - default mode. Warming up Unbound DNS cache from saved file. cache-ttl must be high value. 96*b5663de9SDag-Erling Smørgravecho s - Save - save Unbound DNS cache contents to plain file with domain names. 97*b5663de9SDag-Erling Smørgravecho r - Reload - reloadind new cache entries and refresh existing cache 98*b5663de9SDag-Erling Smørgravecho h - this screen. 99*b5663de9SDag-Erling Smørgravecho filename - file to save/load dumped cache. If not specified, %program_path%\%fname% will be used instead. 100*b5663de9SDag-Erling Smørgravecho Note: Run without any arguments will be in default mode. 101*b5663de9SDag-Erling Smørgravecho Also, unbound-control must be configured. 102*b5663de9SDag-Erling Smørgravexit 1 103*b5663de9SDag-Erling Smørgrav 104*b5663de9SDag-Erling Smørgrav:end 105*b5663de9SDag-Erling Smørgravexit 0 106