Satellite kendi özelliğinde zamanlanmış ürünlerin yansılaması olduğu gibi kendimiz cronjob ilede bunu yapabiliriz. Aşağıdaki scripti oluşturup crona eklememiz yeterli.
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
#!/bin/bash
KNT=/var/run/reposync.pid
RPLST="/root/bin/reposync.txt"
rm -rf $RPLST
rm -f /root/bin/reposync.txt
hammer repository list | awk '{print $1}' | sort -n | grep -v '|' | grep -v 'ID' | tee -a /root/bin/reposync.txt
hammer repository list | awk '{print $1}' | sort -n | grep -E '[0-9]+$' | tee $RPLST
if [ ! -f $KNT ]
then
echo $$ > ${KNT}
for rn in $(cat $RPLST)
do
echo hammer repository synchronize --id ${rn}
hammer repository synchronize --id ${rn}
sleep 41
done
rm -f ${KNT}
else
echo baslamis bir islem var
echo ${KNT} dosyanini kontol edin
fi
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
Bu scripti kullanmamanı nedeni docker repolarını yansılarken limitlere takıldığımdan böyle bir yöntem izledim. Sizlerinde benzer durumunuz varsa sleep 41 kendi ihtiyacınıza göre ayarlamanız gerekiyor. Bu rakamı burada örnek olarak verdim. :=)
Yorumlar
Yorum Gönder