bash script - targz (compress and backup function) -> Usage: Cmd + TargetFile or TagetPath

#!/usr/bin/env bash

if [ "`echo $1 |grep '/$'`" = "$1" ]
then
    fullpath=$(echo $1 |sed "s/\/$//")
else
    fullpath=$1
fi

if [ "`echo $fullpath |grep '/'`" != "$fullpath" ]
then
    fullpath="./$fullpath"
fi

targetName=$(echo $fullpath |awk 'BEGIN{FS="/"} {print $NF}')
path=$(echo $fullpath |sed "s/$targetName//")

echo 
echo "Checking Hierachy ... "
echo 
if [ -d "$path" ]
then
    cd $path

    if [ -f "$targetName" ]
    then
        tar -zcvf $targetNamenew.tar.gz $targetName
    else
        if [ -d "$targetName" ]
        then
            tar -zcvf $targetNamenew.tar.gz $targetName
        else
            echo
            echo "Target Does NOT Exist ! Exiting ..."
            echo
        fi
    fi

    if [ -f $targetNamenew.tar.gz ]
    then
        time=$(date "+%Y%m%d_%H%M%S")

        # the condition for 'if' in bash should have space after '[' and before ']'
        if [ -f "$targetName.tar.gz" ]
        then
            mv $targetName.tar.gz $targetName.tar.gz_bckedAt_$time
            mv $targetNamenew.tar.gz $targetName.tar.gz
        else
            mv $targetNamenew.tar.gz $targetName.tar.gz
        fi
    fi
else
    echo "Path Not Found ! Exiting ... "
fi

echo

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值