sh 重新同步脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 重新同步脚本相关的知识,希望对你有一定的参考价值。

#!/bin/bash

# based on: http://blog.kagesenshi.org/2007/06/fedora-repository-mirroring-script.html

# mirror root - the place you want the rpms to be downloaded
MROOT="/opt/delivery/files/centos"

# processor architectures (space separated)
ARCHS="x86_64"

# repository names (space separated)
REPOS="base centosplus cr epel extras pgdg94 updates"

downrepo () {
    cd $MROOT
    echo "Sychronizing Repositories" >> /var/log/reposync.log
    echo date >> /var/log/reposync.log
    reposync --download-metadata --gpgcheck --plugins --repoid=$1 --arch=$2 --newest-only -t /var/tmp/reposync-cache --download_path=$1 >> /var/log/reposync.log
    STAT=$?
    if [ "$STAT" == "0" ];then
        cd $1
        echo "Cleaning old packages"
	# dont delete old kernels
        repomanage --old . | grep -v 'kernel\-' | xargs rm -rf
        echo "Recreating repodata"
	if [ -f comps.xml ]; then
		echo "comps.xml found"
        	createrepo --workers 2 -g comps.xml .
	else 
		echo "comps.xml not found, creating without groups"
        	createrepo .
	fi
	
	if [ -f *-updateinfo.xml.gz ]; then
		zcat *-updateinfo.xml.gz > updateinfo.xml
		modifyrepo updateinfo.xml ./repodata/	
		rm *-updateinfo.xml.gz
	fi
    fi
    cd $MROOT
}


for REPO in $REPOS;do
  downrepo $REPO $ARCH
done

以上是关于sh 重新同步脚本的主要内容,如果未能解决你的问题,请参考以下文章

rsync自动同步脚本

OGG运维优化脚本(十五)-信息同步类--错误日志同步

sh Oro重新安装脚本

sh mysql自动检查运行状态自动重新启动脚本邮件提醒

mysql主从同步脚本监控脚本

脚本方式同步gitlabA与B