`

更新文件

阅读更多
#!/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
分享到:
评论

相关推荐

    文件更新文件下载.zip

    "文件更新文件下载.zip"这个压缩包文件显然是为了演示或教授如何有效地处理文件更新的过程。下面将详细介绍相关知识点。 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...

    华硕VivoTab Smart ME400CL最新BIOS更新文件

    华硕VivoTab Smart ME400CL的BIOS更新文件是为了优化设备性能、修复已知问题、提高系统兼容性和安全性而发布的。以下是关于BIOS更新的一些关键知识点: 1. **BIOS的作用**:BIOS是计算机启动时运行的第一段程序,它...

    本地自动更新文件源码 v1.0.zip

    本地自动更新文件源码v1.0.zip是一个包含.NET框架下的源代码,旨在实现本地文件的自动化更新功能。这个源代码特别适用于那些需要定期检查并更新本地文件夹内容的应用程序,比如软件或系统维护工具。它能够帮助用户...

    1.绿盟-更新工具自动下载最新更新文件

    1.绿盟-更新工具(周一运行)-自动下载最新更新文件.vbs

    DirectX 9 最新更新文件

    DirectX 9.0的最新更新文件,可以解决最新游戏无法运行的问题。32位系统与64位系统通用。 已在极品飞车14和黑手党2上测试通过。

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

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

    单元格更新文件:formula.js

    LuckySheet 单元格更新文件

    提取更新文件

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

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

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

    易语言更新文件配置工具

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

Global site tag (gtag.js) - Google Analytics