Re: Cobbler reposync cron script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Adrian Revill wrote:
Just in case anyone needs a script to run cobbler reposync from cron, here is one i have written. It runs each repo in turn, and gives each a number of tries (10) to over come problems with failing syncs.

#!/bin/bash

TRIES=10 # number of times to try and run reposync
LOGFILE="/var/log/cobbler/cobbler_reposync.log"

function running {
       PID=$(ps ax| awk '/cobbler reposync/ && !/awk/ {print ($1)}')
       if [ -z $PID ]
       then
               log "cobbler reposync is not running"
               return 1
       fi
       log "cobbler reposync is running PID=$PID"
       return 0
}

function log {
       logger -t "COBBLER_REPOSYNC" -- $1
}

function run {
       try=1
       ret=1
       while [ $try -le $TRIES ]
       do
               running
               ok=$?
               if [ $ok -eq 0 ]
               then
                       log "Already running, aborting"
                       break
               fi
               log "Attempt $try for $1"
               cobbler reposync --only=$1 2>&1 >> $LOGFILE
               ret=$?
               if [ $ret -eq 0 ]
               then
                       break
               fi
               log "Attempt $try failed"
               try=$[ $try + 1 ]
       done
       if [ $ret -eq 0 ]
       then
               log "Compleated $1"
       else
               log "Too many trys or already running, giving up on $1"

       fi
}

log "Starting"
mv $LOGFILE $LOGFILE.1

for name in $(awk '/name:/ {print($2)}' /var/lib/cobbler/repos)
do
       run $name
done

_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

Nice! Do you mind if I put this in a 'contrib' directory in cobbler's version control so other people can find it later?

We can mention this on the Wiki too.

One small change I'd make is to make the last awk line run 'cobbler repo list' instead of grepping the file, that way it works regardless of the storage backend -- though everyone pretty much uses the stock one.

--Michael

_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/et-mgmt-tools

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux