`

更新文件

阅读更多
#!/bin/bash
sp="/home/script"
spt=$sp/tmp
sptt=$sp/tmp/
sps=$sp/src
if [ -d ${sp} ];then
        if [ -d ${sps} ]&&[ -d ${spt} ];then
                echo "${sps}&&${spt} is exist."
        else
                mkdir -p ${sp}/tmp
                mkdir -p ${sp}/src
sp="/home/script"
spt=$sp/tmp
sptt=$sp/tmp/
sps=$sp/src
if [ -d ${sp} ];then
        if [ -d ${sps} ]&&[ -d ${spt} ];then
                echo "${sps}&&${spt} is exist."
        else
                mkdir -p ${sp}/tmp
                mkdir -p ${sp}/src
        fi
else
        mkdir -p ${sp}
        mkdir -p ${sp}/tmp
        mkdir -p ${sp}/src
fi
cd $sps
wget http://www.lbase.net/Download/IPInfo-CN-UNICOM"("CNC")".txt
wget http://www.lbase.net/Download/IPInfo-CN-ChinaTelcom.txt
wget http://www.lbase.net/Download/IPInfo-CN-CTT.txt
wget http://www.lbase.net/Download/IPInfo-CN-ChinaMobile.txt
file=$(ls $sps)
for f in $file;do
        x=$(ls $f | awk -F '-' '{print $3}' | awk -F '.' '{print $1}')
        case $x in
        ChinaMobile)
                sed '/^\;/d' $f > $spt/mobile
                ;;
        ChinaTelcom)
                sed '/^\;/d' $f > $spt/telcom
                ;;
        CTT)
                sed '/^\;/d' $f > $spt/ctt
                ;;
        UNICOM\(CNC\))
                sed '/^\;/d' $f > $spt/unicom
                ;;
        esac
done
para=$(rpm -qa | grep dos2unix)
echo $para
if [ ! -n $para ]; then
echo "dos2unix hasn't installed on this server."
yum -y install dos2unix
else
echo "dos2unix has installed on this server."
fi
file1=$(ls $spt)
cd $spt
echo "converting started"
for x in $file1;do
        echo "convert ${sptt}${x}"
        dos2unix $sptt$x
done
echo "converting finished"
data="/usr/local/named/data/ip"
if [ ! -d $data ];then
        mkdir -p $data
fi
cd $data
file2=$(ls $spt)
y=$(date -d "today" +"%Y")
m=$(date -d "today" +"%m")
d=$(date -d "today" +"%d")
time=$(date |awk '{print $5}')
for i in $file2;do
        ipfile="${i}.ip"
        if [ -f $ipfile ];then
                echo "${ipfile} is exist."
                emts=$(cat $sptt$i)
                for e in $emts;do
                        t=$(cat $ipfile | grep $e)
                        if [[ -z $t ]];then
                                sed -i '/};/ i\'$e'\;' $ipfile
                                echo "${y}-${m}-${d} ${time} ipaddress $e inserted in ${ipfile}" >> /var/log/named-update.log
                                echo "${y}-${m}-${d} ${time} ipaddress $e inserted in ${ipfile}" >> $sp/mail
#                        else
#                                echo "${e} had in ${ipfile} list"
                        fi
                done
        else
                touch "${ipfile}"
                echo "acl ${i}{" > $ipfile
                echo "};" >> $ipfile
                emts=$(cat $sptt$i)
                for e in $emts;do
                        sed -i '/};/ i\'$e'\;' $ipfile
                        echo "${y}-${m}-${d} ${time} ipaddress $e inserted in ${ipfile}" >> /var/log/named-update.log
                        #echo "ipaddress $e inserted in ${ipfile}"
                        echo "${y}-${m}-${d} ${time} ipaddress $e inserted in ${ipfile}" >> $sp/mail
                done
        fi
done

if [ -f $sp/mail ];then
con=$(cat $sp/mail)
/usr/sbin/sendmail -t <<EOF
        From: zone update <root@localhost>
        To:yang.liu@91nbs.com;shiyu.xu@91nbs.com
        Subject: zone update
                $con
EOF
        rm -rf $sp/mail
fi

rm -rf $spt $sps
rndc reload
分享到:
评论

相关推荐

    FTP下载自动更新文件

    FTP下载自动更新文件是一种常见的软件更新机制,尤其在桌面应用中广泛使用。通过FTP(File Transfer Protocol),程序能够从远程服务器获取最新的文件,确保用户始终使用的是最新版本。本技术主要涉及以下几个关键...

    文件更新文件下载.zip

    "文件更新文件下载.zip"这个压缩包文件显然是为了演示或教授如何有效地处理文件更新的过程。下面将详细介绍相关知识点。 1. 文件更新:文件更新通常涉及到软件或应用的新特性、修复的错误或者性能优化。开发人员会...

    C# 提取目录中最新的更新文件

    在C#编程中,提取目录中最新的更新文件是一项常见的任务,尤其在软件更新或日志管理等场景下。本文将详细讲解如何利用C#来实现这个功能,以及涉及的相关知识点。 首先,我们要理解C#中的文件系统操作。C#提供了...

    C# 比较提取更新文件源代码

    本项目涉及的主题是"C#比较提取更新文件源代码",这通常是指编写一个程序来检查本地文件系统中的文件与远程服务器上的文件版本,以便识别并下载最新的更新。下面我们将深入探讨这一主题涉及的知识点。 1. 文件系统...

    根据SVN的更新日志导出部署目录结构的更新文件

    再把开发的工具和解压的全量更新文件以及导出的SVN更新日志放在同级目录,利用插件把SVN更新日志的增量更新文件提取生成同部署一致的目录结构更新文件。为提高增量更新的效率和减少文件更新错误提供了很大的帮助。

    根据文件修改时间更新文件

    在IT行业中,尤其是在文件管理和版本控制的场景下,"根据文件修改时间更新文件"是一个常见的需求。这通常涉及到自动化脚本、同步工具或者版本控制系统,它们通过比较文件的修改时间来决定是否需要更新某个文件。这里...

    delphi http xml自动更新文件

    在IT行业中,自动更新文件系统是一项重要的功能,它允许应用程序在后台下载并安装最新的软件版本,从而保持软件的持续更新和安全。对于Delphi开发者来说,利用HTTP和XML技术可以构建这样的系统。以下是对"delphi ...

    7620更新文件不是固件文件

    当涉及到"7620更新文件不是固件文件"这个主题时,我们可以推断这可能是指一个针对7620型号设备的更新过程中,用户遇到了一个不被系统识别为固件的文件。这种情况可能源于多种原因,如下载错误、文件格式不匹配或更新...

    文件同步[服务器自动更新文件]

    在“文件同步[服务器自动更新文件]”这个场景下,我们关注的是如何利用软件或服务来自动化本地计算机和远程服务器之间的文件更新过程。这通常是企业和个人为了备份、协作或者确保多设备间数据一致性的需求。 首先,...

    自动更新文件-采用socket

    在IT行业中,自动更新文件是一项重要的技术,它能够确保用户始终使用的是软件的最新版本,以获取最新的功能、修复和安全补丁。本项目利用了Socket通信来实现这一功能,让我们详细了解一下这个过程。 首先,Socket是...

    批量更新工程文件

    而让运维人员去一个个找这些文件又太麻烦,因此写了该脚本,这样,开发人员只要把自己更新文件的路径放到配置文件中,运行脚本就会将这些文件下载到本地目录,最后将这些文件放到生产环境中去。

    CS模式的文件更新程序(C#)源码)

    2. **文件下载**:一旦检测到更新,程序将从服务器下载更新文件。为了提高效率,通常会采用断点续传技术,即使下载中断,也能从上次停止的地方继续。 3. **文件复制和替换**:下载完成后,更新程序会将新的文件复制...

    本地与服务器之间文件更新

    2. **下载更新**:如果检测到有新版本,客户端会从服务器下载更新文件,这些文件可能包括补丁、完整的新版本或者其他必要的资源。 3. **校验文件**:下载完成后,客户端会验证文件的完整性,通常是通过校验和(如MD...

    如何使用jenkins实现发布部分更新文件

    Jenkins 实现发布部分更新文件 Jenkins 是一个流行的自动化构建工具,可以帮助开发者自动化构建、测试和部署项目。今天,我们将讨论如何使用 Jenkins 实现发布部分更新文件。 什么是 Jenkins Jenkins 是一个基于 ...

    C# 程序自动远程更新

    使用HTTPS传输以加密数据,保证更新文件不被篡改。 2. **容错机制**:设计良好的错误处理和重试机制,以应对网络不稳定和服务器问题。 3. **增量更新**:仅下载自上次更新以来更改的部分,减少下载量。 4. **多线程*...

    单元格更新文件:formula.js

    LuckySheet 单元格更新文件

    提取更新文件

    "提取更新文件"就是这一过程的核心环节。 首先,理解“按时间提取”的概念。在.NET环境中,这通常意味着基于文件的修改时间来识别哪些文件自上一次发布以来发生了变化。开发人员会记录每个文件的最后修改时间,并与...

    pb自动升级文件和上传升级文件源码

    4. **服务器存储**:服务器接收文件并将其保存在指定的目录或数据库中,同时更新文件元数据,如上传时间、文件大小和版本信息。 5. **通知系统**:一旦文件成功上传,系统可能会通知其他用户有新的更新可供下载。 ...

    易语言更新文件配置工具

    易语言更新文件配置工具源码,更新文件配置工具,MD5,取十六进制,路径取文件名,CryptAcquireContext,CryptCreateHash,CryptReleaseContext,CryptHashData,CryptDestroyHash,CryptGetHashParam,wvsprintf

    易语言源码更新文件配置工具易语言源码.rar

    易语言源码更新文件配置工具易语言源码.rar 易语言源码更新文件配置工具易语言源码.rar 易语言源码更新文件配置工具易语言源码.rar 易语言源码更新文件配置工具易语言源码.rar 易语言源码更新文件配置工具易语言...

Global site tag (gtag.js) - Google Analytics