zoukankan      html  css  js  c++  java
  • shell 实用脚本2

    脚本功能 拷贝文件夹 及 子文件夹内文件  到 对应的 文件结构下 ,且拷贝前先进行备份

    #!/bin/sh
    #create by lizr 2016-01-15
    #脚本功能 
    #覆盖文件前先备份
    cfsuffix=$(date +%Y%m%d);    #备份文件后缀
    if [ $# -lt 2 ]; then                        #输入参数说明
      echo "error...need args"
      echo "eg:path1 path2"
      echo "path1 files backup and copy to path2"
      exit 1
    else
        path1=$1;
        path2=$2;
      if [ -d "$path1" -a -d "$path2" ]; then
        cd $path1;
        find . -type d | while read dir
        do
            tpath1=${path1}${dir#.};
            tpath2=${path2}${dir#.}
            ls $tpath1 | awk -F'[ ]' '{print $1}' | while read filename
            do
                sfile=$tpath1'/'$filename;    #源文件
                pfile=$tpath2'/'$filename; #需备份文件 
                cfile=$tpath2'/'$filename'.'$cfsuffix;    #备份后文件
                if [ -f $sfile ]; then
                    if [ -f $pfile ]; then
                        cp $pfile $cfile &&  a=1 || a=0;
                        if [ $a -eq 1 ]; then
                            echo $filename "backup success!";
                            cp $sfile $tpath2;
                        else 
                            echo $filename "backup error!"
                        fi
                    else
                        echo $pfile "not find!";
                        echo "cp "$sfile $tpath2;
                    fi
                fi
            done
        done
      else
        echo "error...args path not find!";
      fi
    fi
  • 相关阅读:
    Flask从负到零的一周
    DOM(一):节点层次-Node类型
    错误处理(三):区分致命错误和非致命错误
    错误处理(二):常见错误类型
    错误处理(一)
    跨域(二)
    跨域(一)
    AJAX(四):XHR2支持的方法
    AJAX(三):GET与POST
    AJAX(二):HTTP头部信息
  • 原文地址:https://www.cnblogs.com/lzr-rr/p/5133630.html
Copyright © 2011-2022 走看看