Stuart_Myers_88
Dec 08, 2009Nimbostratus
GTM Pool Redirect based on time
This Works with HTTP_REQUEST, but when i try to use the same thing with DNS_REQUEST, i get:
01070151:3: Rule [redirect] error:
line 1: [undefined procedure:
($cur_time <= $maintenance_end_time) ] [{
($cur_time <= $maintenance_end_time) }
{pool STG_Training}]
line 5: [undefined procedure: },] [}, ]
line 6: [parse error: extra characters after close-quote] [) }]
Here is the Rule:
when DNS_REQUEST {
Change the following to set schedule
set maintenance_start_day "Saturday";
set maintenance_start_time "0000";
set maintenance_add_day_1 "Sunday";
set maintenance_add_day_2 "";
set maintenance_add_day_3 "";
set maintenance_add_day_4 "";
set maintenance_add_day_5 "";
set maintenance_end_day "Monday";
set maintenance_end_time "0400";
Get time in seconds, formatted as day of week (%A) hour (%k) minute (%M)
Use scan to save output as $cur_day $cur_hour $cur_minute
scan [clock format [clock seconds] -format {%A %k %M}] {%s %d %d} cur_day cur_hour cur_minute
set cur_time ${cur_hour}${cur_minute}
log local0. "\$cur_day: $cur_day, \$cur_hour: $cur_hour, \$cur_minute: $cur_minute, \$cur_time: $cur_time"
if { ($cur_day eq $maintenance_start_day) &&
($cur_time >= $maintenance_start_time) &&
($cur_time <= "2400") }
{pool STG_Training}
if { ($cur_day eq $maintenance_add_day_1) }
{pool STG_Training}
if { ($cur_day eq $maintenance_add_day_2) }
{pool STG_Training}
if { ($cur_day eq $maintenance_add_day_3) }
{pool STG_Training}
if { ($cur_day eq $maintenance_add_day_4) }
{pool STG_Training}
if { ($cur_day eq $maintenance_add_day_5) }
{pool STG_Training}
if { ($cur_day eq $maintenance_end_day) &&
($cur_time >= "0000") &&
($cur_time <= $maintenance_end_time) }
{pool STG_Training}
}
Anybody know if i can make this work?