bin/update
changeset 17 6cb141e5de6b
parent 16 6516dc848a47
child 18 826103fe3c8c
equal deleted inserted replaced
16:6516dc848a47 17:6cb141e5de6b
   270 
   270 
   271     check_update $dst "${dep[@]}" && do_update $dst "${cmd[@]}" || true
   271     check_update $dst "${dep[@]}" && do_update $dst "${cmd[@]}" || true
   272 }
   272 }
   273 
   273 
   274 ## actions
   274 ## actions
   275 function update_serial {
   275 function update_zone_serial {
   276     local serial=$1; shift
   276     local name=$1; shift
       
   277     local file=$SERIALS/$name.serial
   277     
   278     
   278     local old=$(test -e $serial && cat $serial || echo '')
   279     local old=$(test -e $file && cat $file || echo '')
   279 
   280 
   280     log_info "Updating serial: $serial"
   281     log_info "Updating $file..."
   281 
   282 
   282     cmd $UPDATE_SERIAL $* $serial
   283     cmd $UPDATE_SERIAL $* $file
   283     
   284     
   284     local new=$(cat $serial)
   285     local new=$(cat $file)
   285         
   286         
   286     log_debug "  $old -> $new"
   287     log_debug "  $old -> $new"
   287 }
   288 }
   288 
   289 
   289 function update_zone_part {
   290 function update_zone_part {
   294     local src=$SETTINGS/$name
   295     local src=$SETTINGS/$name
   295     local dst=$ZONES/$name
   296     local dst=$ZONES/$name
   296 
   297 
   297 
   298 
   298     if check_update $dst $src; then
   299     if check_update $dst $src; then
   299         log_info "Copying zone $zone.$part..."
   300         log_info "Copying zones/$name..."
   300 
   301 
   301         do_update $dst cat $src
   302         do_update $dst cat $src
   302     else
   303     else
   303         log_info "Copying zone $zone.$part: not changed"
   304         log_info "Copying zones/$name: not changed"
   304     fi
   305     fi
   305 }
   306 }
   306 
   307 
   307 function update_zone {
   308 function update_zone {
   308     local zone=$1
   309     local zone=$1
   312     local out=$ZONES/$name
   313     local out=$ZONES/$name
   313     local in=$SETTINGS/$zone.zone
   314     local in=$SETTINGS/$zone.zone
   314     local serial=$SERIALS/$zone.serial
   315     local serial=$SERIALS/$zone.serial
   315 
   316 
   316     if check_update $out $in $serial; then
   317     if check_update $out $in $serial; then
   317         log_info "Generating $zone zone headers..." 
   318         log_info "Generating $out..." 
   318 
   319 
   319         do_update $out \
   320         do_update $out \
   320             $EXPAND_ZONE $SETTINGS/$zone.zone   \
   321             $EXPAND_ZONE $SETTINGS/$zone.zone   \
   321                 --serial $SERIALS/$zone.serial  \
   322                 --serial $SERIALS/$zone.serial  \
   322                 --expand zones=$ROOT/$ZONES
   323                 --expand zones=$ROOT/$ZONES
   323     else
   324     else
   324         log_info "Generating $zone zone headers: not changed" 
   325         log_info "Generating $out: not changed" 
   325     fi
   326     fi
   326 }
   327 }
   327 
   328 
   328 function update_zone_view {
   329 function update_zone_view {
   329     local zone=$1
   330     local zone=$1
   334     local out=$ZONES/$name
   335     local out=$ZONES/$name
   335     local in=$SETTINGS/$zone.zone
   336     local in=$SETTINGS/$zone.zone
   336     local serial=$SERIALS/$zone.serial
   337     local serial=$SERIALS/$zone.serial
   337 
   338 
   338     if check_update $out $in $serial; then
   339     if check_update $out $in $serial; then
   339         log_info "Generating $zone:$view zone headers..."
   340         log_info "Generating $out..."
   340 
   341 
   341         do_update $out \
   342         do_update $out \
   342             $EXPAND_ZONE $SETTINGS/$zone.zone   \
   343             $EXPAND_ZONE $SETTINGS/$zone.zone   \
   343                 --serial $SERIALS/$zone.serial  \
   344                 --serial $SERIALS/$zone.serial  \
   344                 --expand zones=$ROOT/$ZONES     \
   345                 --expand zones=$ROOT/$ZONES     \
   345                 --expand view=$view
   346                 --expand view=$view
   346     else
   347     else
   347         log_info "Generating $zone:$view zone headers: not changed"
   348         log_info "Generating $out: not changed"
   348     fi
   349     fi
   349 }
   350 }
   350 
   351 
   351 function update_hosts {
   352 function update_hosts {
   352     local dst=$1; shift
   353     local dst=$1; shift
   420     log "Updating serials..."
   421     log "Updating serials..."
   421 
   422 
   422     if [ $SERIAL_NOUPDATE ]; then
   423     if [ $SERIAL_NOUPDATE ]; then
   423         log_info "Skipped"
   424         log_info "Skipped"
   424     else
   425     else
   425         update_serial   $SERIALS/paivola.serial
   426         update_zone_serial  paivola
   426         update_serial   $SERIALS/paivola-reverse.serial
   427         update_zone_serial  paivola-reverse
   427     fi
   428     fi
   428 
   429 
   429 
   430 
   430     log "Updating zones headers..."
   431     log "Updating zones headers..."
   431         update_zone         paivola-reverse
   432         update_zone         paivola-reverse