Skrypt przetwarza podkatalogi w bieżącej lokalizacji, tworząc archiwa tar
a następnie usuwa przetworzony katalog.
W pętli for
możemy użyć maski zawężając wynik wyszukiwania np.
for i in *dump*; do
lub użyć polecenia ls
np.
for i in $(ls -A); do
#!/usr/bin/env bash
clear
echo
echo -----------------------------------------------
echo "Znajdujesz się w katalogu $PWD"
echo
echo "!!!UWAGA! Niebezpieczenstwo!!!"
echo
echo -n "Czy usunac katalogi po archiwizacji? [N/t]: "
read usunac
case "$usunac" in
"N"|"n") usunac=false ;;
"T"|"t") usunac=true ;;
*) usunac=false ;;
esac
if [ $# -gt 0 ]; then
case "$1" in
"tar") ext=tar ;;
"tgz"|"tar.gz") ext=tgz ;;
"tbz"|"tbz2"|"tar.bz2") ext=tbz ;;
"txz"|"tar.xz") ext=txz ;;
esac
else
ext=tar
fi
for i in *
do
if [ -d $i ]; then
echo Archiwizuje $i
tar -cavf $i.$ext $i
if [ $? = 0 ]; then
if [ $usunac == 'true' ]; then
echo "!!! Usuwam: $i"
rm -rf "$i"
fi
else
echo "Wystąpił BŁĄD: $?"
exit 1
fi
fi
done
Date: 2020-10-24T19:57:51+02:00 |