• centos下if配合tar和unzip命令实现网站目录更新


    tar参数有 z,c,x,v,f

    -z 表示压缩操作类型是 .tar.gz

    -c 表示当前行为是打包

    -x 表示当前行为是解压文件包

    -v 参数要求显示命令执行过程

    -f 指定打包后文件名

    -C 解压到指定路径

    常用压缩打包命令:

    tar -zcvf tarame.tar.gz dir/files

    常用解压缩命令:

    tar -zxvf tarname.tar.gz -C 指定解压后文件存放地址

    -----------------------------------------------------------

    解压到当前目录

    $unzip test.zip

    解压到指定目录

    $unzip -d {targetPath} test.zip

    不覆盖已经存在的文件

    $unzip -n test.zip

    强制覆盖已经存在的文件

    $unzip -o test.zip

    检查压缩包是否损坏

    $unzip -t test.zip

    执行解压不显示任何信息

    $unzip -q test.zip

    $unzip -oq test.zip # 静默解压没有任何提示

    --------------------------------------------------------------------

    1、基本语法:

    if [ command ]; then
         符合该条件执行的语句
    fi

    2、扩展语法:

    if [ command ];then
         符合该条件执行的语句
    elif [ command ];then
         符合该条件执行的语句
    else
         符合该条件执行的语句
    fi

    常用的:
    [ -a FILE ] 如果 FILE 存在则为真。
    [ -d FILE ] 如果 FILE 存在且是一个目录则返回为真。
    [ -e FILE ] 如果 指定的文件或目录存在时返回为真。
    [ -f FILE ] 如果 FILE 存在且是一个普通文件则返回为真。
    [ -r FILE ] 如果 FILE 存在且是可读的则返回为真。
    [ -w FILE ] 如果 FILE 存在且是可写的则返回为真。(一个目录为了它的内容被访问必然是可执行的)
    [ -x FILE ] 如果 FILE 存在且是可执行的则返回为真。

    --------------------------------------------------------------------------

    实战:

    WebBakName1=web_coin67.com_$(date +"%Y%m%d")_013001.tar.gz
    WebBakName2=web_coin67.com_$(date +"%Y%m%d")_013002.tar.gz
    WebBakName3=web_coin67.com_$(date +"%Y%m%d")_013003.tar.gz

    cd /www/wwwroot/ftp_103_85_85_196/103_45_163_11_backup/site/coin67.com

    if [ -a $WebBakName1 ];then
        tar -zxvf $WebBakName1 -C /www/wwwroot/
        unzip -o coin67.com.zip -d /www/wwwroot/
    elif [ -a $WebBakName2 ];then
        tar -zxvf $WebBakName2 -C /www/wwwroot/
        unzip -o coin67.com.zip -d /www/wwwroot/
    elif [ -a $WebBakName3 ];then
        tar -zxvf $WebBakName3 -C /www/wwwroot/
        unzip -o coin67.com.zip -d /www/wwwroot/
    else
         echo "不存在的文件"
    fi

  • 相关阅读:
    java: 错误: 无效的源发行版:17
    js:flex弹性布局
    Jetson Nano 部署(4) : Tensorrt Nano硬件搭建
    什么是分库分表-01
    算法学习-动态规划-背包问题
    JADE(自适应差分进化优化算法)在C++中的完整实现与深度解析
    MySQL 快速入门之第二章 数据类型、建表以及约束
    架构师之路5. 浪潮LG - 离职
    【Java 基础篇】Properties 结合集合类的使用详解
    【C语言数据结构】图-邻接链表法(没写完,以后再补)
  • 原文地址:https://blog.csdn.net/tiging/article/details/126793479