实现目的:同步CentOS镜像站点的内容到此服务器,并且给其他服务器当作yum源使用。实现一次下载,多次利用。
安装http服务器
安装nginx
可以用nginx当作http服务器,具体的安装操作详见本博客:ngixn
开启nginx的目录浏览
vi /usr/local/nginx/conf/nginx.conf
utoindex on; #开启nginx目录浏览功能
autoindex_exact_size off; #文件大小从KB开始显示
autoindex_localtime on; #显示文件修改时间为服务器本地时间
:wq! #保存,退出
service nginx reload
mkdir源文件目录并通过rsync同步
mkdir目录
mkdir -p /usr/local/nginx/html/centos #CentOS官方标准源
mkdir -p /usr/local/nginx/html/epel #第三方epel源
说明:这里创建两个文件夹,分别存放CentOS官方标准源和epel源。
创建yum源同步脚本
mkdir -p /home/crontab #创建目录
vi /home/crontab/yum_rsync.sh #添加以下代码
#!/bin/sh
/usr/bin/rsync -avrt rsync://mirrors.ustc.edu.cn/centos/ --exclude-from=/usr/local/nginx/html/exclude_centos.list /usr/local/nginx/html/centos/
/usr/bin/rsync -avrt rsync://mirrors.ustc.edu.cn/epel/ --exclude-from=/usr/local/nginx/html/exclude_epel.list /usr/local/nginx/html/epel/
chmod +x /home/crontab/yum_rsync.sh #添加脚本执行权限
说明:运行此脚本前,先要创建好同步目录及不需要同步的目录列表文件
cd /usr/local/nginx/html/ #进入目录
touch exclude_centos.list #创建文件
touch exclude_epel.list #创建文件
说明:把不需要同步的目录写到上面对应的文件中,每行一个目录
设定脚本自动执行
vi /etc/crontab #在最后一行添加以下代码
0 2 * * * root /home/crontab/yum_rsync.sh #设置每天凌晨2点整开始执行脚本
:wq! #保存退出
service crond restart #重启
rsync同步软件
vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync
disable = no #修改为
/etc/init.d/xinetd start #启动(CentOS中是以xinetd 来管理Rsync服务的)
:wq! #保存退出
备注:centos7中没有这个文件
执行脚本验证即可!