linux+文件夹压缩备份,linux环境shell脚本 压缩 解压 安装 备份文件夹

使用方法:git

1.  cd bin;  执行build.sh文件,会打包与bin目录同层级的目录py_common,生成打包文件py_common_install_V0.01.bsxbash

2. 执行bash py_common_install_V0.01.bsx 完成解压、安装和备份app

具体脚本文件内容以下:  ui

打包压缩文件:/bin/build.shcode

#!/bin/bash

# 要打包的文件夹,py_common是须要打包的文件夹,与bin处于同一层级

app_name="py_common"

CUR_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

WORK_DIR="$( cd ${CUR_DIR}/.. && pwd )"

version=0.01

BIN_DIR="$WORK_DIR/bin"

# 打包后的安装文件

bsx_file="${CUR_DIR}/${app_name}_install_V${version}.bsx"

if [ -f $bsx_file ]; then

rm -v ${bsx_file}

fi

TMPDIR=`mktemp -d /tmp/py_common-build.XXXXXX`

echo "tempdir : $TMPDIR"

cp -rp ${WORK_DIR}/${app_name} ${TMPDIR}/

cd $TMPDIR

tar --exclude='.git' --exclude='cscope*' --exclude="${app_name}.tar" \

--exclude='*pyc' --exclude='log' \

--exclude='release' \

--exclude='*.bsx' --exclude='build.sh' -cf \

$BIN_DIR/${app_name}.tar ./*

cd -

if [ -e ${BIN_DIR}/${app_name}.tar ]; then

gzip ${BIN_DIR}/${app_name}.tar

if [ -e ${BIN_DIR}/${app_name}.tar.gz ]; then

cat $BIN_DIR/decompress.sh $BIN_DIR/${app_name}.tar.gz \

> ${bsx_file}

else

echo "$BIN_DIR/${app_name}.tar.gz doesn't exist"

exit 1

fi

else

echo "$BIN_DIR/${app_name}.tar doesn't exist"

exit 1

fi

rm $BIN_DIR/${app_name}.tar.gz

rm -rf $TMPDIR

md5=$(md5sum ${bsx_file}|awk '{print $1}')

echo "the ${bsx_file} is created"

echo "md5sum is ${md5}"

exit 0

解压安装备份文件:/bin/decompress.ship

#!/bin/bash

echo ""

echo "Self Extracting Installer"

echo ""

export TMPDIR=`mktemp -d /tmp/selfextract.XXXXXX`

ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`

tail -n+$ARCHIVE $0 | tar xz -C $TMPDIR

CDIR=`pwd`

cd $TMPDIR

app_name="py_common"

# 安装目录

install_path="/usr/local/my_test_project"

data_path="/data"

# 备份目录

bak_time=`date "+%Y%m%d%H%M%S"`

backup_dir="${data_path}/backup/${app_name}/${bak_time}"

rsync -av --backup --backup-dir=${backup_dir} * ${install_path}/

cd $CDIR

rm -rf $TMPDIR

exit 0

__ARCHIVE_BELOW__

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值