~/home of geeks

Archivieren von Git-Projekten

· 71 Wörter · 1 Minute(n) Lesedauer

Dieser Artikel ist Teil der Artikel-Serie "kurz notiert".

Kurz notiert: Ein Bash Skript, das ein Projektordner per TAR zusammenpackt und dabei unnötige Dateien und Unterordner ausklammert.

tar.project.sh

#!/bin/bash

#shopt -o -s xtrace

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
DATE=$(date +%Y-%m-%d-%H%M%S)
SOURCE=$1
SUB_DIR_BASE="$SCRIPT_DIR/$SOURCE"
if [ -d $SUB_DIR_BASE ]; then
  echo "Verarbeitetes Projekt: $SOURCE"
  echo "Verarbeiteter Ordner: $SUB_DIR_BASE"
  tar -cvzpf "$SCRIPT_DIR/$SOURCE-$DATE.tar.gz" --exclude="$SUB_DIR_BASE/*/.git/*" --exclude="$SUB_DIR_BASE/.git/*"  --exclude="$SUB_DIR_BASE/*/.idea/*" --exclude="$SUB_DIR_BASE/.idea/*" --exclude="$SUB_DIR_BASE/*/target/*" --exclude="$SUB_DIR_BASE/target/*" --exclude="*.iml" "$SUB_DIR_BASE/"
else
  echo "Ordner $SUB_DIR_BASE existiert nicht."
fi