`
zengshaotao
  • 浏览: 787213 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

shell备份发布的文件

    博客分类:
  • unix
 
阅读更多

待备份的文件路径:/gaps/test/20140417/gaps/sblib/…..,即需要发布的内容

生产的目录结构:/gaps/sblib/…..

备份时:发布的内容如果已经存在,则拷贝生产上相应的内容。发布的内容是新增的,生产上肯定没有。

#!/bin/bash

#待备份文件的根目录,该目录与备份脚本平级

sourcepath=""

copyroot=`pwd`

echo $copyroot

dateparam=`echo $1`

echo $dateparam

sourcepath=$copyroot"/"$dateparam

#文件备份的目标根目录

aimpath="/gaps/bak"

copyfolder()

{

  #列出文件夹下所有的文件

  name=`ls -l $1 | awk '{print $9}'`

  for i in $name

  do

    pathname=`echo $1"/"$i`

    if [ -d "$pathname" ];then

      copyfolder $pathname

    elif [ -f "$pathname" ];then

      echo "----------------------------"

      #根据目录获得文件,也可以使用basename命令

      filename=`echo ${pathname##*/}`

      #得到文件的路径,不包含文件本身,NF是一个内置变量

      comptemp=`echo "$pathname"|awk -F '/' '{for(k=5;k<=NF-1;k++) print $k}'`

      compfilepath=""

      for j in $comptemp

       do

         compfilepath=$compfilepath"/"$j

       done

      echo "file name is:"$filename

      echo "compfilepath is:"$compfilepath

      compfile=$compfilepath"/"$filename

      echo "____________________________"

      if [ ! -f "$compfile" ];then

        echo "file is not exist"

      else

        datev=`date +"%Y-%m-%d"`

        tamp=$aimpath"/"$datev

        tamp=$tamp$compfilepath

        mkdir -p $tamp

        cp $pathname $tamp

      fi

    else

      echo "error"

    fi

  done

}

copyfolder $sourcepath

分享到:
评论

相关推荐

    投产备份、更新、回退脚本shell.zip

    "投产备份、更新、回退脚本shell.zip"这个压缩包显然包含了用于管理项目上线过程的脚本,具体包括备份、更新和回滚操作。这些脚本通常使用Shell语言编写,因为Shell在Linux和Unix系统中广泛使用,具有强大的文件处理...

    刷写备份BIOS

    2. 进入BIOS设置:部分主板允许在BIOS设置中直接创建备份文件。 3. 利用硬件设备:某些主板配备有BIOS跳线或按钮,通过特定操作可直接创建备份。 四、BIOS备份的注意事项 1. 选择正确的版本:确保下载的BIOS更新与...

    sringboot项目自动化发布shell脚本

    在这个场景中,我们有两个关键文件:`runjar.sh`和`build.sh`,它们是实现Spring Boot应用自动化发布的shell脚本。 首先,让我们详细了解一下`build.sh`脚本。这个脚本通常用于构建项目,它可能包含了编译源代码、...

    xp仿vista的shell32.dll文件

    【标题】:“xp仿vista的shell32.dll文件”是指在Windows XP系统中通过替换shell32.dll文件,使得操作界面风格模仿Windows Vista的一种视觉调整方法。这种方法主要是通过更改系统资源文件,使得XP的桌面图标、文件夹...

    关于发布程序上线和回滚的shell

    #指定发布管理日志的路径 记录发布过程,完成文件备份和文件patch PUB_ROOT=/home/chenlong/Publish === 使用方法 ===: #./apply.sh blog /home/chenlong/patch_sh/list20100520.txt 例如 -bash-3.2$ ./...

    100个shell脚本合集

    9. 自动发布Java项目:shell脚本也可以用于自动化Java项目的构建、打包和部署,例如使用mvn命令进行Maven项目构建,然后将结果复制到目标服务器。 10. 入侵与检测:结合日志分析和防火墙规则,shell脚本可以实现...

    shell 备份数据库、代码上线的脚本

    【Shell脚本备份数据库】 Shell脚本用于自动化执行重复性的任务,例如数据库备份。在Linux环境中,MySQL数据库的备份可以通过`mysqldump`命令来完成。以下是一个基本的shell脚本实例,它包含了对多个数据库进行每日...

    常用shell 脚本,dos攻击防范,

    常用shell脚本, Dos攻击防范(自动屏蔽攻击IP).sh 一键部署等等 Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh...目录文件变化监控和实时文件同步.sh 自动发布Java项目(Tomcat).sh 自动发布PHP项目脚本.sh

    拷贝发布文件到服务器目录

    标题“拷贝发布文件到服务器目录”涉及到的是在IT行业中常见的文件传输操作,尤其是在软件开发和部署的过程中。这个过程通常包括从本地计算机复制文件或文件夹到远程服务器,以便进行测试、部署或共享。以下是对这个...

    18个Linux Shell脚本经典案例视频.zip

    18个Linux Shell脚本经典案例(1-18) 脚本 Dos攻击防范(自动屏蔽攻击IP) Linux系统发送告警脚本 MySQL数据库备份单循环 MySQL数据库备份多循环 nginx 访问访问日志按天切割 nginx nginx访问日志分析脚本 一键查看...

    linux-一些常用的shell脚本用于webserver的服务安装线上代码发布推送等

    - 使用shell脚本进行自动化运维可以减少人为错误,提高效率,例如定期备份数据库、监控系统状态、自动扩容等。 - 在"shell-master"中,可能包含有定时任务(Cron job)配置,利用`crontab`命令设定执行时间,实现...

    Bash shell脚本新手指南

    - 例如,一个简单的备份脚本可能会包含文件复制命令和错误处理逻辑。 - 脚本可以使用变量存储数据,利用条件语句 (`if`, `case`) 和循环结构 (`for`, `while`) 控制流程。 #### 四、总结 Bash Shell 是一种功能...

    java 远程调用Shell脚本客户端包

    - `Created-20020301-1631`:这可能是一个创建日期的记录文件,可能包含了包的构建或发布时间。 - `README`:通常会包含工具包的使用说明、依赖项、示例代码和注意事项等内容,是了解如何使用此包的重要文档。 - `...

    github-backup:用于将 GitHub 存储库备份到本地 git 包的 Shell + Python 脚本

    特此授予任何人免费获得本软件副本和相关文档文件(“软件”)的许可,不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或出售软件的副本,并允许向其提供软件的人员这样做...

    shell介绍

    这些脚本可以用来自动化常见的任务,如文件备份、系统监控等。一个简单的Shell脚本示例: ```bash #!/bin/bash # 这是一个简单的Shell脚本示例 echo "Hello, $USER!" date ``` 此脚本首先定义了使用的Shell类型 (`...

Global site tag (gtag.js) - Google Analytics