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

猜你喜欢

转载自blog.csdn.net/tiging/article/details/126793479