搭建本地yum源并定时同步
在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源。以中国科学科技大学的yum源为基准。http://mirrors.ustc.edu.cn/
有些模块会同步失败,可以wget下载至指定位置。
代码如下:
#!/bin/bash
#Script name:rsync_yumrepo.sh RsyncPerm='-avSH --delete-after --no-iconv --bwlimit=5000'
Centos_6_base='/app/YumRepo/Centos6/x86_64/Base/'
Centos_6_update='/app/YumRepo/Centos6/x86_64/update/'
Centos_6_epel='/app/YumRepo/Centos6/x86_64/Epel'
Centos_6_salt='/app/YumRepo/Centos6/x86_64/Salt'
Centos_6_docker='/app/YumRepo/Centos6/x86_64/Docker'
Centos_7_base='/app/YumRepo/Centos7/x86_64/Base/'
Centos_7_update='/app/YumRepo/Centos7/x86_64/update/'
Centos_7_epel='/app/YumRepo/Centos7/x86_64/Epel'
Centos_7_salt='/app/YumRepo/Centos7/x86_64/Salt'
Centos_7_docker='/app/YumRepo/Centos7/x86_64/Docker'
LogFile='/app/YumRepo/rsync_yum_log'
Date=`date +%Y-%m-%d` function CheckDir(){
if [ -d $ ];then
echo "$1 dir is exist,Please check it!"
else
echo "$1 dir is not exist,will create it!"
mkdir $ -p
fi
}
function CheckFile(){
if [ -e $ ];then
echo "$1 dir is exist,Please check it!"
else
echo "$1 dir is not exist,Please install on there!"
fi
}
function CheckStatus(){
if [ $? -eq ];then
echo -e "\033[1;32mRsync is success!\033[0m" >>$LogFile/$Date.log
else
echo -e "\033[1;31mRsync is fail!\033[0m" >>$LogFile/$Date.log
fi
}
CheckDir ${LogFile}
CheckDir ${Centos_6_base}
CheckDir ${Centos_6_update}
CheckDir ${Centos_6_epel}
CheckDir ${Centos_6_salt}
CheckDir ${Centos_6_docker}
CheckDir ${Centos_7_base}
CheckDir ${Centos_7_update}
CheckDir ${Centos_7_epel}
CheckDir ${Centos_7_salt}
CheckDir ${Centos_7_docker} ###rsync centos base
echo 'Now start to rsync centos 6 base!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ $Centos_6_base >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ $Centos_7_base >>$LogFile/$Date.log
CheckStatus ###rsync epel
echo 'Now start to rsync centos 6 epel!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ $Centos_6_epel >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 epel!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/7/x86_64/ $Centos_7_epel >>$LogFile/$Date.log
CheckStatus ###rsync salt
echo 'Now start to rsync centos 6 salt!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/6/x86_64/ $Centos_6_salt >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 salt!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/7/x86_64/ $Centos_7_salt >>$LogFile/$Date.log
CheckStatus ###rsync docker
#echo 'Now start to rsync centos 6 docker!' >>$LogFile/$Date.log
#rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-yum/repo/centos6/ $Centos_6_docker >>$LogFile/$Date.log
#CheckStatus
echo 'Now start to rsync centos 7 docker!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/ $Centos_7_docker >>$LogFile/$Date.log
CheckStatus ###rsync golang
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/golang/go1.9.linux-arm64.tar.gz /app/YumRepo/golang/go1.9.linux-arm64.tar.gz
CheckStatus ###rsync centos update
echo 'Now start to rsync centos 6 update!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ $Centos_6_update >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ $Centos_7_update >>$LogFile/$Date.log
CheckStatus
同步完成后,启用httpd服务
配置DocumentRoot "/app/YumRepo"
ServerName *:80
<Directory "/app/YumRepo/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Dircetory>
检查语法错误httpd -t
重载配置service httpd reload
配置客户端
把/etc/yum.repo.d/目录下的所有.repo文件。mv改为*.bak
新建文件vim /etc/yum.repo.d/CentOS-Base.repo
[base]
name=Centos6 - base
baseurl=baseurl=http://HOSTADDR/Centos6/x86_64/Base
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [updates]
name=CentOS6 - updates
baseurl=http://HOSTADDR/Centos6/x86_64/update
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
重新生成缓存
yum clean all
yum makecache
搭建本地yum源并定时同步的更多相关文章
- 使用光盘搭建本地yum源
刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...
- centos 搭建本地YUM源并使用apache共享YUM源
搭建本地YUM源 1.挂载镜像 2.搭建本地YUM源 删除多余repo文件保留一个就行 本地YUM源就搭建好了 yum repolist 查看yum源 3.使用apache共享YUM源 YUM服务器配 ...
- 【转载】搭建本地yum源:以下是以centos7为例子
搭建本地yum源:以下是以centos7为例子 1)首先需要安装 createrepo(需要一个可以使用源的机器,可以访问互联网)安装方法可以使用yum安装epel源 1 yum -y instal ...
- 搭建本地yum源出现:mount: 在 /dev/sr0 上找不到媒体
2021-07-27 在练习环境搭建时,因为是离线环境,故先搭建本地yum源,但是出现了一个往常没有的问题:mount: 在 /dev/sr0 上找不到媒体,参考其他博主的文章得到解决方法. 排查问题 ...
- 使用光盘无网络搭建本地yum源仓库
目录 一:使用光盘搭建本地yum源 1,按顺序搭建本地yum源 第一步 : 搭载安装光盘 第二步 : 编辑repo yum源文件 第三步 : 检查 yum makecache 注意事项: 一:使用光盘 ...
- 在linux上搭建本地yum源
准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...
- 搭建本地yum源
本地yum源其实非常容易搭建 首先进入/etc/yum.repos.d/ 将原来的yum源备份后移除,然后新建dvd.repo: 内容如下: [base] name=base baseurl=file ...
- 如何搭建本地yum源,阿里yum源以及自己的网络yum源?
环境:CentOS7 一.本地源的yum源的搭建 (一)添加新的yum源配置文件iso.repo(名字可以自己命名,但是后缀必须是repo结尾) 注意:目录 /etc/yum.repos.d 下的 . ...
- CentOS 7搭建本地yum源
问题 CentOS7.1安装rpm包时提示缺失包,有些包iso里面也没有,只能从外网yum,这种情况下,可以提前yum好所需的依赖包,做成一个本地yum源.将这些文件拷贝到没联网的机器就可以使用了. ...
随机推荐
- Python是如何进行内存管理
三个方面:一对象的引用计数机制,二垃圾回收机制,三内存池机制 一.对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数. 引用计数增加的情况: 1,一个对象分 ...
- Python IO模型
这篇博客是本人借鉴一些大神的博客并结合自己的学习过程写下的. 事件驱动模型 事件驱动模型是一种编程范式,这里程序的执行流由外部事件来决定.它的特点是包含一个事件循环,当外部事件发生时,不断从队列里取出 ...
- 07-nodejs中npm的使用
NPM是什么? 简单的说,npm就是JavaScript的包管理工具.类似Java语法中的maven,gradle,python中的pip. 安装 傻瓜式的安装. 第一步:打开https://node ...
- JS刷新当前页面的几种方法总结
reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页 ...
- IdentityServer4【Topic】之StartUp中的配置
Startup 身份服务器是中间件和服务的组合.所有的配置都是在启动类中完成的. Configuring services 通过调用如下代码在DI(dependency inject,依赖注入)中添加 ...
- 一条SQL语句执行得很慢的原因有哪些?(转)
一条 SQL 语句执行的很慢,那是每次执行都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?所以我觉得,我们还得分以下两种情况来讨论. 1.大多数情况是正常的,只是偶尔会出现很慢的情况. 2.在数据 ...
- Thread(生产者和消费者) wait、notify、notifyAll
在java中,线程间的通信可以使用wait.notify.notifyAll来进行控制.从名字就可以看出来这3个方法都是跟多线程相关的,但是可能让你感到吃惊的是:这3个方法并不是Thread类或者是R ...
- bootstrap模态框modal使用remote动态加载内容,第二次加载显示相同内容解决办法
bootstrap的modal中,使用remote可以动态加载页面到modal-body中,并弹窗显示 如果提供的是 URL,将利用 jQuery 的 load 方法从此 URL 地址加载要展示的内容 ...
- Django--CRM--菜单排序等
一 . 菜单排序 1.我们想把菜单排序.首先给菜单加上权重,权重大的排在上面, 这就要在菜单表上加上一个权重字段. 2. 我们在菜单表里面把权重改一下 3. 需要把权重字段的信息拿出来放到sessio ...
- $mount(“#app”)手动挂载
没有el属性时,证明vue还没绑定到特定的dom上,需要延迟加载,则使用.$mount("")进行手动挂载 https://blog.csdn.net/longzhoufeng/a ...