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